五折优惠 全部方案,限时优惠。起价 $2.48/mo
剩余 7 分钟
安全与网络

如何在 Linux 中更改 SSH 端口:SSH 端口的快速分步指南

Alex Robbins By Alex Robbins 7 分钟阅读 更新于 2024 年 1 月 7 日
如何修改 SSH 端口

如果你想加强服务器的安全性,需要修改 SSH 端口的默认值。默认端口号众所周知,这会构成安全风险。为了简化操作,我们提供了清晰的分步说明,告诉你如何在 Linux 中修改 SSH 端口。概述部分包含 SSH 协议的基本信息以及它对服务器安全的重要性。当然,你也可以跳过这部分,直接开始教程。

什么是 SSH?

当前 安全外壳协议(SSH) 是一种安全措施,让你和其他用户能够通过不安全的网络(如互联网)连接到安全服务器。当你计划运行服务器时(无论是 VPS 还是独立服务器),这变得不可或缺。你需要从笔记本电脑连接到服务器,该连接必须通过互联网才能到达。互联网显然是一个不安全的环境,这意味着你不能放松警惕。这就是为什么安全外壳协议配备了多个有用的工具来帮助建立和维护服务器安全,包括用于密码和密钥认证的工具。 

为什么 SSH 安全很重要?

获得独立服务器或 VPS 时,你将获得对系统的完整 root 访问权限,这意味着你可以使用 SSH 协议远程连接到服务器并进行任何必要的配置。虽然 SSH 不支持图形界面,只提供命令行界面,但它仍然是服务器管理的主要方法。像所有网络服务一样,SSH 使用默认端口号。但因为 SSH 端口比其他协议(如 VNC)更难更改,有些用户懒得改。这意味着黑客和恶意软件更容易获得对你服务器的访问权限,因为他们知道要攻击哪个端口。所以,你应该花时间一次性更改默认 SSH 端口。有了这个教程,你可以快速轻松地完成这项工作。 

linux-vps 更省心的 Linux 主机

想用更好的方式托管网站和 Web 应用?在开发新东西?或者只是不喜欢 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 文本编辑器。Nano 让你可以直接从命令行编辑文本,是 SSH 连接的完美选择。Nano 应该默认安装;如果没有,请参阅附录了解安装命令。我们将使用该编辑器编辑 SSH 配置文件: /etc/ssh/sshd_config (如果你有远程桌面连接,可以使用你喜欢的文本编辑器)。为此,输入以下命令:

sudo nano /etc/ssh/sshd_config

现在向下滚动直到找到 Port 属性:

[nano 编辑器在 Linux 终端中显示 SSH 配置文件]
[nano 编辑器在 Linux 终端中显示 SSH 配置文件]

第 3 步:(可选)更改 SSH 端口以提高安全性

如你所见,默认端口标记为 22,而 # 在它前面表示这一行是注释。要进行任何更改,你必须记得删除 # 来取消注释。有些人喜欢使用 SSH 端口 443,这通常为 SSL 加密预留,从而迷惑潜在的黑客。假设你想将 SSH 端口改为 3333,需要进行以下更改:

From:

#Port 22







To:

Port 3333

同样,确保在 # 前面没有 Port按下 Ctrl+O 来保存你所做的更改,然后按 Ctrl+X 退出编辑器。 

推荐阅读: Telnet 与 SSH

第 4 步:重启 SSHD 服务以完成更改

你已完成 SSH 配置,但要使更改生效,必须重启负责 SSH 连接的 SSHD 服务。输入以下命令:

sudo systemctl reload sshd

第 5 步:配置防火墙

在开始享受增强的服务器安全之前,你需要配置防火墙,以停止阻止你的新 SSH 端口。这就是特定发行版命令的用途,因为不同发行版使用不同的默认防火墙。 

如何在 CentOS/RHEL/Fedora 中更改 SSH 端口

大多数基于 RHEL 的发行版(如 CentOS)使用一个名为 SELinux(Security-Enhanced Linux)的安全套件,它兼具防火墙等多种功能。不过,在继续之前,你应该先检查 SELinux 是否真的已启用。输入以下命令:

sudo sestatus

如果你看到类似这样的内容,第一行显示 SELinux 状态:已启用 那么你需要按照以下步骤操作。否则,可以跳过这部分,直接进行最后一步 这里.

[检查 SELinux 开启/关闭状态的命令]
[检查 SELinux 开启/关闭状态的命令]

既然我们已确认 SELinux 已启用,我们将使用 semanage 包。如果它被禁用,可以使用这些说明快速启用 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 端口更改就到此为止。你可以在下方测试新端口。

推荐阅读:  2022 年最佳 Windows 的 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-vps 更省心的 Linux 主机

想用更好的方式托管网站和 Web 应用?在开发新东西?或者只是不喜欢 Windows?这就是我们做 Linux VPS 的原因。

获取你的 Linux VPS

其他安全措施

就服务器 SSH 安全性而言,你能做的就这些了,但还有更多可以做。管理员的安全工作永远没有尽头。还有很多事情要做,比如禁用 root 账户访问、设置更强的密码等。当然,托管服务商在确保服务器安全方面起着最重要的作用,选择合适的提供商至关重要。这就是为什么 Cloudzy 在超安全的服务器上运行其 Linux VPS 服务器,这些服务器配备了硬件和基于人工智能的防火墙、智能 DDoS 防护以及其他专有安全措施。放心使用 从 Cloudzy 获取安全的 Linux VPS 解决方案 今天

分享

博客更多内容

继续阅读。

Cloudzy MikroTik L2TP VPN 指南封面图,展示笔记本通过发光的蓝金色数字隧道连接服务器机架,带有盾牌图标。
安全与网络

MikroTik L2TP VPN 配置(带 IPsec):RouterOS 指南(2026)

在本 MikroTik L2TP VPN 配置中,L2TP 负责隧道封装,IPsec 负责加密与完整性;两者结合让你无需第三方代理即可原生兼容客户端

Rexa CyrusRexa Cyrus 9 分钟阅读
终端窗口显示远程主机身份变更的 SSH 警告,深青色背景上带有修复指南标题和 Cloudzy 品牌标识。
安全与网络

警告:远程主机身份已更改及修复方法

SSH 是一种安全网络协议,在系统之间建立加密隧道。它至今仍受需要远程访问计算机却无需图形界面的开发者欢迎

Rexa CyrusRexa Cyrus 10 分钟阅读
DNS 服务器排错指南配图,深色背景上带警告符号和蓝色服务器,适用于 Linux 名称解析错误
安全与网络

Temporary Failure in Name Resolution 是什么意思,如何修复?

使用 Linux 时,你可能会在访问网站、更新软件包或执行需要联网的任务时遇到 temporary failure in name resolution 错误

Rexa CyrusRexa Cyrus 12 分钟阅读

准备好部署了吗? 起价 $2.48/月。

独立云厂商,自 2008 年起。AMD EPYC、NVMe、40 Gbps。14 天退款保证。