Jevin's Blog - iptables
type: channel
link: https://jevin.org/tag/iptables/
items: SSH登陆端口修改（二）

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