在CentOS 5.5中连接ssh与端口号失败

服务器使用CentOS 5.5

在更改/etc/ssh/sshd_config默认端口后,使用命令重新启动SSH

 /etc/init.d/sshd restart 

然后我退出

 exit 

因此,我testing连接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: connect to host 123.456.789.123 port 22: Connection refused
同时使用
ssh -p 22 -l root 123.456.789.123
花费时间太长,无法连接消息
ssh: connect to host 123.456.789.123 port 12345: Connection timed out

重启服务器后,这仍然发生

CentOS默认情况下已经运行了iptables防火墙。 您可能需要打开ssh的新端口。

编辑文件/ etc / sysconfig / iptables并find该行(或类似的)

 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 

22改成您为sshdselect的端口号

 -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 

删除旧的规则,现在会比新的规则进入之前更高,但可以通过列出上面的行号进行检查。

 sudo iptables -D RH-Firewall-1-INPUT 13 

保存新的configuration

 sudo service ipatbles save