如何在 Linux 和 Ubuntu 中更改 SSH 端口

在 Linux 上更改 SSH 端口非常简单直接。 与可用于任何 Linux 发行版(包括 Ubuntu)的大多数软件包一样,它们都带有一个配置文件。 让我们修改该配置文件并将我们的端口更新为不常用的东西。

在 Linux 和 Ubuntu 中更改 SSH 端口

对于任何 Linux 发行版,该过程都是相同的。 目录结构可能略有不同,但文件名将保持默认。 因此,如果您难以找到文件,只需使用搜索工具搜索即可。

在 Linux 系统上,我们有 /etc/服务 列出所有活动服务以及端口和连接类型的文件。 让我们看看我们的 SSH 服务器在哪个端口上运行。

[email protected]:~# grep 'ssh' /etc/services 
SSH 默认服务器端口

可以看到,这里默认端口显示22,连接类型是TCP。 让我们将端口更改为 2020。

编辑 sshd_config 文件

要更改 ssh 服务处于活动状态的默认端口,我们将编辑 ssh 服务器配置文件。 这 /etc/ssh/sshd_config 文件保存 ssh 服务器的默认配置数据。 用你最喜欢的文本编辑器打开它。

[email protected]:~# nano /etc/ssh/sshd_config 
SSH 默认服务器端口 1

向下滚动,直到看到注释掉的 Port 22 行。 只需删除 # 在该行的开头,并将端口编辑为 2020(或您需要在其上运行服务器的任何端口)。

重启 SSH 服务器

现在我们需要在 Linux 或 Ubuntu 上重新启动我们的 SSH 服务器,以确保我们的设置生效。

[email protected]:~# service sshd restart 

此命令将没有输出. 如果您收到任何错误,请检查您是否拼写正确。

验证 SSH 端口更改

我们将使用 netstat 命令 在 Linux 中验证我们的 ssh 服务器正在侦听连接的端口。 在您的系统上运行以下命令。

[email protected]:~# netstat -tlp | grep ssh 

-t-l 选项代表 TCP 和侦听。 因此,我们正在寻找所有 TCP 类型的连接,并且正在主动侦听传入连接。 这 -p 选项显示程序名称。

我们也是 管道输出到 grep 所以我们只看到 ssh 服务器运行的端口,而不是我们系统上运行的所有其他服务。

SSH 服务器默认监听端口SSH 服务器默认监听端口

那太棒了! 如您所见,我们的服务器现在已经开始监听 2020 端口。

在 Ubuntu 中允许通过防火墙的传入连接

如果您使用的是 Ubuntu,默认设置将安装 UFW 防火墙。 它允许默认的 SSH 端口,但不允许我们自己设置的端口。 让我们添加一个规则,以允许 TCP 连接类型在 2020 端口上的传入连接。

[email protected]:~# ufw allow 2020/tcp 

结论

现在您知道如何使用配置文件设置 SSH 服务器端口了。 您可以通读配置文件以查看是否有任何其他您希望更改的配置。 我们将了解更多关于 ufw防火墙netstat 命令 在以后的教程中。