服务器使用CentOS 5.5
更改/ etc / ssh / sshd_config中的默认端口后,使用命令重新启动SSH
/etc/init.d/sshd restart
然后我退出
exit
所以我测试连接SSH ssh -l root 123.456.789.123
并快速得到一条消息,显示我做出的修改效果:
ssh: connect to host 123.456.789.123 port 22: Connection refused
我试图连接端口:
ssh -p 12345 -l root 123.456.789.123
这需要很长时间,然后无法连接消息:
ssh: connect to host 123.456.789.123 port 12345: Connection timed out
我认为连接到端口的命令有问题.使用ssh -l root 123.456.789.123快速给出错误ssh:连接到主机123.456.789.123端口22:连接被拒绝,而使用ssh -p 22 -l root 123.456.789.123需要太长时间并且无法连接消息ssh:connect主机123.456.789.123端口12345:连接超时
重启服务器后,仍然会发生这种情况
默认情况下,CentOS运行iptables防火墙.您可能需要为ssh打开新端口.
编辑文件/ etc / sysconfig / iptables并找到该行(或类似)
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
将22更改为您为sshd选择的端口号,例如
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 12345 -j ACCEPT
保存文件并重新启动iptables服务
sudo service iptables restart
编辑
使用iptables命令
保存了防火墙的当前状态
sudo service iptables save
列出RH-Firewall-1-INPUT表的规则编号
sudo iptables -L RH-Firewall-1-INPUT --line numbers
记下允许在我的系统上的端口22上使用ssh的行号12.
12 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
使用例如端口12345在旧规则之前插入新规则
sudo iptables -I RH-Firewall-1-INPUT 12 -p tcp -m state --state NEW -m tcp --dport 12345 -j ACCEPT
删除旧规则,该规则现在将比新规则在之前的规则高1,但您可以通过列出上面的行号进行检查.
sudo iptables -D RH-Firewall-1-INPUT 13
保存新配置
sudo service ipatbles save