2024年8月26日

使用 SSH 和 Tmux 进行屏幕共享

在我关于屏幕共享的文章中,我演示了如何使用 VNC 查看和控制远程桌面。有时,完整的远程桌面查看器并不总是实用的。但如果您需要控制或查看其他人的屏幕上的内容,您仍然可以选择其他选项。 OpenSSH OpenSSH 并非真正用于共享屏幕,但它可以执行一些类似的任务。例如,如果您支持的用户需要 GUI 应用程序的支持,您可以使用带有 X-forwarding 的 SSH 连接来启动该应用程序的实例、修改其设置或测试他们声称无法正常工作的某些功能。 不同之处在于您实际上并没有共享屏幕。VNC 连接到桌面会话,但 SSH 只生成一个应用程序:shell。从这个 shell,您可以执行您连接到的系统可用的任何命令,甚至可以启动 GUI 应用程序。 要通过 SSH 连接到远程计算机,您必须确保远程计算机:可通过防火墙访问,并且接受 SSH 连接。如果这两个先决条件中…
2024年8月26日

通过备用端口连接到 SSH 服务器

默认情况下,SSH 使用端口号 22,许多系统管理员会更改它以避免大量试图强行入侵的机器人攻击。如果您必须通过 SSH 连接到服务器但连接到默认端口以外的端口,请使用:ssh -p port_number username@ServerIP当然,您必须替换诸如 port_number、username 和服务器 IP 之类的变量。让我详细介绍并展示如何添加 SSH 的备用端口并连接到它。如何使用备用端口连接到 SSH 服务器第一步是连接到 SSH 服务器并检查您想要使用的端口是否已被使用。ssh user@serverIP现在,让我们使用 ss 命令检查端口 2222 是否正在被使用:sudo ss -tulpn | grep ':2222'您可以清楚看到,端口号 22 正在被进程 ID 889 使用,而端口号 2222 未被使用,这非常适合我们的用例。现在,让我们开始更改防火…
2024年8月26日

通过 SSH 在远程和本地系统之间传输文件的 4 种方法

或迟或早,你会发现自己处于这样的情况:你必须通过 SSH 将文件上传到远程服务器或从中复制文件。有多种方法可以通过 SSH 传输文件。我将在这里讨论以下方法:scp:已被弃用的旧命令rsync:流行的文件同步命令sshfs:通过 SSH 挂载远程目录sftp 客户端:用于通过 SFTP 访问文件的 GUI 工具为了通过 SSH 成功传输文件,您需要两台机器之间有 SSH 访问权限知道远程机器上的用户名和密码知道远程计算机的IP 地址或主机名(在同一子网内)除此之外,让我们看看通过 SSH 在远程系统之间复制文件的方法。方法 1:使用 scp 命令通过 SSH 复制文件我读到过 scp 即将被弃用的消息。不过,它仍然是我最喜欢的通过 SSH 在系统之间传输文件的工具。为什么?因为它的语法类似于 cp 命令。让我们看看如何使用 scp 命令。将文件从远程计算机复制到本地计算机…
2024年8月26日

如何在 Linux 中注销 SSH 用户

如果您通过 SSH 登录到远程 Linux 系统,那么您只需要使用 exit 命令即可退出 SSH。exit没问题。但是如果你想要从 SSH 连接中注销其他用户,该怎么办?在这个快速提示中,我将向您展示如何将任何用户踢出系统。从 SSH 会话注销用户首先,检查登录到 Linux 服务器的用户列表。有多种方法可以做到这一点。我将使用带有选项的 who 命令-u。此选项显示用户登录 shell会话的进程 ID 。who -u以下是示例输出:root@localhost:~# who -u abhishek pts/0 2021-04-05 09:25 00:01 31970 (223.180.180.107) prakash pts/1 2021-04-05 09:26 . 32004 (223.180.180.107) root pts/2 2021-04-05 09:26 . 32039 (2…
2024年8月26日

修复 SSH 连接中断管道错误

如果您使用 SSH 连接到远程 Linux 服务器,您会注意到,如果您保持 SSH 会话处于不活动状态一段时间,然后尝试再次使用它,SSH 会话将断开连接并显示如下错误消息::client_loop: send disconnect: Broken pipe在某些系统上,它将显示“写入失败:管道损坏”或“远程主机关闭连接”。让我们看看是什么导致了这个错误以及如何保持你的 SSH 连接处于活动状态。修复 SSH 管道损坏错误你可能已经猜到了,SSH 连接由于不活动而关闭。没有设定值,但通常约为 5 分钟左右。为避免 SSH 会话断开,您可以采取的措施是在一定时间间隔内从服务器向客户端 ( ClientAliveInterval) 或从客户端向服务器 ( ) 发送“活动消息”。ServerAliveInterval这样,您可以保持 SSH 会话处于活动状态,因为客户端和…
2024年8月26日

如何正确安全地更改 Linux 中的默认 SSH 端口

如果您了解 SSH 基础知识,您已经知道 SSH 默认使用端口 22。当您通过 SSH 连接到服务器时,大多数情况下您无需提供任何端口信息。在这种情况下,您的连接将转到 SSH 服务器的端口 22。您可以使用以下步骤将默认端口从 22 更改为您选择的端口号:打开/etc/ssh/sshd_config文件进行编辑。找到有该行的行Port 22(如果它被#注释掉,也删除#)。将该行更改为端口 2522(或 1024 至 65535 之间的任意数字)。确保防火墙允许新端口(如果有)。使用 重新启动 ssh 守护进程sudo systemctl restart sshd。从现在开始,您必须指定端口来建立 ssh 连接ssh user@ip_address_of_server -p 2522。让我向你详细展示步骤,并告诉你为什么你可能考虑改变为什么要更改默认 SSH 端口?保护 S…
2024年8月26日

10 个切实可行的 SSH 强化技巧,保护你的 Linux 服务器

SSH是访问远程服务器的最常用方法之一。SSH 也是 Linux 服务器被入侵的最常见原因之一。别误会我的意思。SSH(安全外壳)在设计上是一种非常安全的协议,但这并不意味着您应该保留其默认配置。在本文中,我将分享一些提高 SSH 安全性并从而保护您的 Linux 服务器的实用方法。在 Linux 服务器上保护 SSH 的技巧 不要盲目遵循这里提到的所有 SSH 强化技巧。请阅读所有技巧,然后看看哪些适合您的需求。还请记住,有些技巧可能与其他技巧不兼容。 例如,如果您禁用基于密码的 SSH 登录,则无需采用 Fail2Ban 类型的解决方案。如果您了解SSH 基础知识,您就会知道 SSH 配置文件位于/etc/ssh/sshd_config。这里提到的大多数 SSH 强化技巧都需要您编辑此配置文件。这就是为什么备份原始文件是个好主意。如果您对 SSH 配置文件进…
2024年8月26日

如何禁用使用密码登录 SSH

SSH 强化的基本步骤之一是禁用基于密码的 SSH 登录。您知道可以使用 ssh 和 root 或其他帐户的密码远程登录 Linux 服务器。但这会带来安全风险,因为大量的机器人总是试图用随机密码登录你的系统。这被称为暴力攻击。你不相信我?你可以检查一下你的 Linux 服务器上的登录信息。你会惊讶地发现你的服务器上有这么多失败的尝试。root@myserver:~# lastb | tail root ssh:notty 49.235.87.213 Wed Apr 1 06:25 - 06:25 (00:00) root ssh:notty 95.128.137.176 Wed Apr 1 06:25 - 06:25 (00:00) aw ssh:notty 36.108.175.68 Wed Apr 1 06:25 - 06:25 (00:00) aw ssh:notty 36.108.175.68…
2024年8月26日

在 Linux 中使用 SSH 端口转发作为安全工具

普通 Linux 用户都知道SSH,因为它基本上允许他们远程连接到任何服务器,以便能够通过命令行对其进行管理。然而,这并不是 SSH 能为您提供的唯一功能,它还可以充当一个很棒的安全工具,即使在默认情况下没有加密的情况下也可以加密您的连接。例如,假设您有一个远程 Linux 桌面,希望通过SMTP或电子邮件进行连接,但该网络上的防火墙当前阻止了 SMTP 端口 (25),这种情况很常见。通过 SSH 隧道,您只需使用 SSH 即可使用另一个端口连接到该特定 SMTP 服务,而无需将 SMTP 配置重新配置为不同的端口,最重要的是,获得 SSH 的加密功能。配置 OpenSSH 进行端口转发为了让OpenSSH服务器允许转发,您必须确保它在配置中处于活动状态。为此,您必须编辑/etc/ssh/ssh_config文件。对于 Ubuntu 18.04,这个文件…
2024年8月26日

修复 Linux 中的权限被拒绝 (publickey) SSH 错误

本快速教程向您展示如何修复 Linux 上的 ssh 错误“sign_and_send_pubkey:签名失败:代理拒绝操作权限被拒绝(公钥)”。如果您尝试通过SSH连接到远程服务器,您可能会遇到权限被拒绝错误。此错误可能由于多种原因而发生。远程系统上已禁用基于密码的身份验证您的公钥未添加到仅允许基于密钥的授权的服务器SSH 密钥上的文件权限错误该问题的修复取决于错误背后的确切原因。就我而言,我将公钥和私钥存储在我的Ubuntu 16.04 桌面上。Ubuntu 18.04 发布后,我决定升级到这个较新的版本。我更喜欢全新安装,而不是发行版升级。因此,我备份了主目录的主要文件夹,包括外部磁盘上包含公钥和私钥的 .ssh 文件夹。安装后,我在 Ubuntu 18.04 上启用了 SSH并恢复了所有内容,包括 SSH 密钥。现在,当我尝试使用 ssh…