在 Linux 上更改 SSH 端口非常简单直接。 与可用于任何 Linux 发行版(包括 Ubuntu)的大多数软件包一样,它们都带有一个配置文件。 让我们修改该配置文件并将我们的端口更新为不常用的东西。
在 Linux 和 Ubuntu 中更改 SSH 端口
对于任何 Linux 发行版,该过程都是相同的。 目录结构可能略有不同,但文件名将保持默认。 因此,如果您难以找到文件,只需使用搜索工具搜索即可。
在 Linux 系统上,我们有 /etc/服务 列出所有活动服务以及端口和连接类型的文件。 让我们看看我们的 SSH 服务器在哪个端口上运行。
[email protected]:~# grep 'ssh' /etc/services
可以看到,这里默认端口显示22,连接类型是TCP。 让我们将端口更改为 2020。
编辑 sshd_config 文件
要更改 ssh 服务处于活动状态的默认端口,我们将编辑 ssh 服务器配置文件。 这 /etc/ssh/sshd_config 文件保存 ssh 服务器的默认配置数据。 用你最喜欢的文本编辑器打开它。
[email protected]:~# nano /etc/ssh/sshd_config
向下滚动,直到看到注释掉的 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 服务器运行的端口,而不是我们系统上运行的所有其他服务。
那太棒了! 如您所见,我们的服务器现在已经开始监听 2020 端口。
在 Ubuntu 中允许通过防火墙的传入连接
如果您使用的是 Ubuntu,默认设置将安装 UFW 防火墙。 它允许默认的 SSH 端口,但不允许我们自己设置的端口。 让我们添加一个规则,以允许 TCP 连接类型在 2020 端口上的传入连接。
[email protected]:~# ufw allow 2020/tcp
结论
现在您知道如何使用配置文件设置 SSH 服务器端口了。 您可以通读配置文件以查看是否有任何其他您希望更改的配置。 我们将了解更多关于 ufw防火墙 和 netstat 命令 在以后的教程中。