如何更改ssh端口号

严格来说,更改SSH端口需要三个步骤:更改配置、调整防火墙、重启服务。
防火墙规则使这变得复杂,特别是 CentOS 的 Firewalld。
临时命令和永久命令看起来很相似,但含义却完全不同。

我们扩展一下,首先说一下最重要的一步,改变配置。
去年我们差点毁了这个项目,因为我们直接使用了 sudo nano 来转换它。
为此直接删除了PermitRootLogin——很多人没有注意到这一点。
还有一点就是调整防火墙时要识别系统。
UFW 最简单,只需 sudo ufw allowed 2 2 2 2 /tcp 即可。
但是,防火墙的临时命令-add-port 和永久命令-permanent 必须正确执行。
去年,我们遇到了麻烦,因为临时规则通过了。
还有另一个重要的细节。
比如使用iptables时,必须使用sudo service iptables来保存规则,否则重启服务器也没用。

一开始我以为修改后就可以直接连接了,后来发现是错误的。
本地使用 ssh -p 2 2 2 2 没问题,但是远程还是无法连接。
找了半天,发现是防火墙没有重装。
等等,还有一件事。
建议先检查新的端口,例如 ssh -p 2 2 2 2 root@localhost ,确认没有问题后,关闭第一个2 2 端口。
否则突然中断会很烦人。

建议新端口不要使用 2 2 ,而是使用随机数,例如 sudo ufw allowed 5 5 5 5 5 /tcp。
对了,使用 sudo ufw delete allowed 2 2 /tcp 删除第一个端口。
但我认为值得尝试在防火墙中打开一个自定义位置并将 SSH 规则放在那里,这样您以后就不必每次更改系统时都更改命令。

SSH客户端和服务端的区别,Centos系统SSH的安装配置

CentOS如何修改SSH端口(SSH端口的修改方法)