之前有篇博文写了如何修改VPS的SSH登陆端口,今天在Vultr撸了一个新的VPS,拿到手测试性能速度,安装所需东西之后,准备改端口,结果居然不成功,后来搞得连接丢失,自己都登录不上了,只好去管理面板Reinstall。
在网上搜了半天修改方法,也一直不成功,反复Reinstall了四五次,终于搞定,下面记录一下我最后成功的方法,该方法应该比之前所写博文更加靠谱。
先说明,我设置成功并截图的整个过程是在CentOS 6.8 X64系统下,其他系统请确认指令通用再进行!
首先,输入下面的命令,查看VPS端口号范围:
sysctl -a|grep ip_local_port_range
此时,会返回的结果尾部会有两个数字,如下图:
我们要修改的端口号最好在这个范围里面。
第二步是修改防火墙的设置,输入以下命令:
vi /etc/sysconfig/iptables
我们找到有默认端口号的那一行,修改默认端口号为新端口号,如下图:
我这边默认端口号为22
vi修改完成之后,怎么保存退出应该不用多说了吧?我上一篇博文里有记录,不知道的童鞋,可以去看一下。
退回之后,输入第三个命令,重启防火墙:
service iptables restart
重启完毕之后,再一次回到上一篇博文说的流程里,首先:
vi /etc/ssh/sshd_config
然后找到Port那一行,把后面的数字,改为新的端口号,特别注意,如果Port前面有#,请删除#。
修改之后保存退出,重启SSH:
service sshd restart
此时,新开一个链接,通过新端口去连接试试看,应该已经成功了!
最后说一下,网络上的教程里,在重启防火墙之前,都应该有保存防火墙设置的一步,但是我实际测试是,当我用vi修改了防火墙iptables后,保存退出,此时如果通过:
service iptables save
这个命令来保存防火墙配置,会导致iptables里面的内容变回默认端口,而直接重启防火墙则不会。
我是按照本文所叙的顺序进行操作,到最后重启SSH之后,再输入的保存防火墙配置的命令,此时则iptables里的内容不会变回默认,而是保持我后面改动过的样子。
再嘱咐一点,请按顺序进行修改!请按顺序进行修改!请按顺序进行修改!重要的事情说三遍!
网上有说法,先改sshd再改防火墙会导致最后无法连接。