在国外买的vps防止别人扫描端口,于是我把ssh默认的22端口修改一下。
1.修改配置文件:/etc/ssh/sshd_config ,找到
1 | #port 22 |
2.先将Port 22 前面的 # 号去掉,并另起一行。如定义SSH端口号为33322,则输入
1 | Port 33322 |
自定义端口选择建议在万位的端口(如:10000-65535之间)
也许您会问为什么要先把port 22前面的 # 去掉呢?因为在配置文件中,# 是Linux的注释字符。注释字符后的代码程序是不会执行的。SSH默认的(即非手动指定)端口为22,所以配置文件在默认的情况下以注释字符出现。当需要指定其它端口或多端口同时访问时,就要删掉注释符号,告知程序按照您的意愿来执行响应操作。
以上操作,手动指定SSH端口为22和33322(双端口号),保留22是为了防止个别防火墙屏蔽了其它端口导致无法连接VPS(如没单独指定22,新指定的33322端口防火墙也没放行,那么可能无法通过SSH连接VPS或服务器)。为了防止不必要问题的产生,所以要给自己保留条“后路”。
3、修改完毕后,重启SSH服务,并退出当前连接的SSH端口。(如图)
1 | service sshd restart |
CentOS下SSH默认端口22修改成其他端口
4.重启完毕,尝试使用新端口登陆
连接成功,需要重新添加SSH-RSA验证,点击是(或Yes)即可。
5.若能正常访问,返回第一步,根据第二步的操作将原port 22整段注释或删掉,再按第三步重启SSH即可。
以上步骤重启后使用默认22号端口无法进入SSH,达到目的。
【请注意】:
如果您启用了防火墙iptables,那么必须先添加新开的33322端口
补充:iptables开放端口端示例
为了方便举例说明,就直接拿来一段我的现有服务器上运行的防火墙iptables内容。
请注意:后面的注释说明文字:
1 | vim /etc/sysconfig/iptables |
修改完防火墙iptables后,需要重新启动:
1 | /etc/init.d/iptables restart |
注意:iptables配置文件存放位置是:/etc/sysconfig/iptables
保存命令:service iptables save
使用命令:iptables -L -n 可以查看当前iptables的开放端口情况。