如果您计划提高服务器的安全性,则需要更改 SSH 端口的默认值。默认端口号是众所周知的事实,这使得它成为您无法承受的安全风险。为了使过程变得简单,我们提供了简单的英语分步说明,告诉您如何在 Linux 中更改 SSH 端口。概述包含有关 SSH 协议的一些基本信息以及它为何对服务器安全如此重要。当然,您可以跳过它并直接从教程开始。
什么是 SSH?
这 安全外壳协议 (SSH) 是一种安全措施,使您和其他用户能够通过不安全的网络(例如 Internet)连接到安全服务器。当您计划运行服务器(无论是 VPS 还是专用服务器)时,这一点变得必不可少。您必须从笔记本电脑连接到服务器,并且该连接必须通过互联网才能到达那里。显然,互联网是一个不安全的环境,这意味着您不能放松警惕。这就是为什么 Secure SHell 协议还配备了一些有价值的工具来帮助建立和维护服务器安全,包括密码和密钥身份验证工具。
为什么 SSH 安全很重要?
当您获得专用服务器或 VPS 时,您将获得系统的完全 root 访问权限,这意味着您可以使用 SSH 协议远程连接到服务器并进行任何您需要的配置。虽然 SSH 不支持图形并且仅提供命令行界面,但它仍然是服务器管理的主要方法。与所有基于网络的服务一样,SSH 使用默认端口号。但由于 SSH 端口比 VNC 等其他协议中的端口更难更改,因此一些用户懒得更改它。这意味着黑客和恶意软件将有更多机会访问您的服务器,因为他们知道要瞄准哪个端口。因此,您应该花时间一劳永逸地更改默认 SSH 端口,通过本教程,您可以快速完成此操作,而无需额外的努力。
Linux 托管简化
想要更好的方式来托管您的网站和网络应用程序吗?开发新东西?就是不喜欢 Windows?这就是我们拥有 Linux VPS 的原因。
获取您的 Linux VPS如何在 Linux 中更改 SSH 端口
在整个教程中,我们将使用 Linux 终端输入必要的命令。屏幕截图取自 Fedora Server 34,但大多数命令适用于所有主要 Linux 发行版。如果需要特定于发行版的命令,我们会单独提供。要完成这些步骤,您需要使用 VNC 或 SSH 登录到服务器。解释完了,让我们开始实际的过程。
第 1 步:启动终端
首先,我们需要打开终端。如果您使用 SSH,则默认情况下您将使用终端。如果您使用的是 VNC 等远程桌面协议,则可以通过按打开终端 Ctrl+Alt+T 或者通过搜索所有 Linux 发行版中的应用程序菜单。
另请阅读: 在 Windows 10 中生成 SSH 密钥
步骤 2:编辑 SSH 配置文件
现在,我们将使用 纳米文本编辑器。 Nano 允许您直接从 CLI 编辑文本,使其成为 SSH 连接的完美选择。 Nano应该默认安装;如果没有,请参阅附录中的命令来安装它。我们将使用编辑器来编辑 SSH 配置文件: /etc/ssh/sshd_config (如果您有远程桌面连接,则可以使用您喜欢的文本编辑器)。为此,您应该输入以下命令:
sudo nano /etc/ssh/sshd_config
现在,向下滚动直到找到端口属性:
![[Linux 终端上的 Nano 编辑器显示 SSH 配置文件]](https://cloudzy.com/wp-content/uploads/Screenshot-from-2021-07-17-11-13-53.png)
步骤 3:(可选)更改 SSH 端口以确保安全
如您所见,默认端口为 22,并且 # 在这意味着这句话是一个赞扬之前。要进行任何更改,您必须记住删除 # 取消注释它。有些人喜欢使用 SSH 端口 443,该端口通常是为 SSL 加密保留的,从而迷惑潜在的黑客。假设您想将 SSH 端口更改为 3333;为此,请进行以下更改:
From: #Port 22 To: Port 3333
再次确保没有 # 在这个词之前 港口。按 Ctrl+O 保存您所做的更改并 Ctrl+X 退出编辑器。
另请阅读: Telnet 与 SSH
步骤 4:重新启动 SSHD 服务以完成更改
您已完成 SSH 设置的配置,但为了使更改生效,您必须重新启动负责 SSH 连接的 SSHD 服务。为此,请输入以下命令:
sudo systemctl reload sshd
第 5 步:配置您的防火墙
然而,在开始享受增强的服务器安全性之前,您应该配置防火墙以停止阻止新的 SSH 端口。由于不同发行版使用默认防火墙,因此这就是发行版特定命令的用武之地。
如何在 CentOS/RHEL/Fedora 中更改 SSH 端口
大多数基于 RHEL 的发行版(例如 CentOS)都使用名为 SELinux(安全增强型 Linux)的安全套件,该套件可充当防火墙等功能。然而,在继续之前,您应该首先查看 SELinux 是否确实已启用。为此,请输入以下命令
sudo sestatus
如果你看到这样的内容,第一行读 SELinux 状态:已启用 那么您必须执行以下步骤。否则,您可以跳过此步骤并继续最后一步 这里.
![[查看SELinux开/关状态的命令]](https://cloudzy.com/wp-content/uploads/Screenshot-from-2021-07-17-11-53-29.png)
现在我们已经确定 SELinux 已启用,我们将使用 语义 包裹。如果它被禁用,您可以使用这些说明快速打开 SELinux。使用以下命令将您选择的端口添加到 SELinux 的 SSH 端口列表(本示例中为 3333):
sudo semanage port -a -t ssh_port_t -p tcp 3333
现在,我们需要告诉防火墙将端口 3333 添加到您的公共区域,这是开放端口号的注册范围:
sudo firewall-cmd --zone=public --add-port=3333/tcp --permanent
现在剩下的就是重新启动防火墙服务以使更改生效:
sudo firewall-cmd --reload
这就是 CentOS 更改 SSH 端口的方法。您可以在下面测试新端口。
如何在 Ubuntu/Debian/Kali 中更改 SSH 端口
Ubuntu 和其他一些基于 Debian 的发行版默认安装并激活了 UFW 防火墙。这可以使用以下命令来完成,您需要像之前一样输入到终端:
sudo ufw allow 2222/tcp
Ubuntu 更改 SSH 端口就这样了。现在让我们继续测试与新端口的连接。
测试新的 SSH 端口
现在,为了查看一切是否按预期方式进行,我们将进行快速测试以查看 SSH 端口转发是否成功。如果您到目前为止一直在使用 SSH,则应首先通过关闭 shell 来退出会话。在客户端上打开终端并输入以下命令来建立 SSH 连接:
shh 00.00.00.00 -p 3333
当然,你应该更换 00.00.00 服务器的正确 IP 地址,您可以从提供商网站上的控制面板获取该地址。
Linux 托管简化
想要更好的方式来托管您的网站和网络应用程序吗?开发新东西?就是不喜欢 Windows?这就是我们拥有 Linux VPS 的原因。
获取您的 Linux VPS其他安全措施
就提高服务器 SSH 安全性而言,就这些了,但总有更多。管理员的安全任务永远不会完成。还有一些事情要做,比如禁用 root 帐户访问、创建更强的密码等。当然,托管提供商在确保服务器安全方面发挥着最重要的作用,因此选择正确的托管提供商至关重要。这就是为什么 Cloudzy 在超安全服务器上运行其 Linux VPS 服务器,并配备硬件和基于 AI 的防火墙、智能 DDoS 防护和其他专有保护措施。让你的心情放松并 从 Cloudzy 获取安全的 Linux VPS 解决方案 今天。