UPDATE
正如哈立德build议,我改变了我的netstat命令
netstat -lnp | grep 3899 tcp 0 0 :::3899 :::* LISTEN 10333/sshd
所以不应该听吗?
我改变了我的ssh端口在我的centos 5.5框到3899.但我似乎无法远程login到它。 我之前做过这个,但是最后一次,我不需要做任何其他的修改就可以工作。
iptables -L | grep 3899 [empty response] iptables -L | grep 22 [empty response] iptables -L | grep ssh ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
是的,您可能需要调整您的防火墙规则。 要查看您当前的规则:
iptables -nvL
如果您在最后看到一堆接受规则和一个拒绝规则,那意味着您的主机阻止了除指定规则之外的所有传入连接。
我想你可以使用system-config-securitylevel基于菜单的工具来打开自定义的端口。 在terminal上运行该程序,然后select“自定义”button。 将3899:tcp添加到其他端口列表并保存您的更改。 我不确定system-config-securitylevel是否使用端口号而不是服务名。 如果在该工具中指定端口号不起作用,则可以尝试将自定义的“myssh”服务名称添加到/etc/services ,然后在system-config-securitylevel中使用该名称。
你可以跑
nmap -sS -v server.example.com
从外部机器扫描您的系统以确定哪些端口是打开的。
另一种方法是手动编辑/etc/sysconfig/iptables ,并将现有的ssh条目复制到其下方的另一个条目中,但将端口从ssh更改为3899.请注意,很容易搞乱你的防火墙configuration手动编辑iptables文件,所以如果你走这条路线要非常谨慎。 进行更改后,重新引导计算机,或运行/etc/init.d/iptables restart以加载更改。
答案可能是yes – 如果您的iptables规则是活动的,则目标端口SSH( dpt:ssh )规则仅涵盖端口22 – 由IANA分配的标准SSH端口(在/ etc / services中列出)。
您将需要更改该规则,以允许stream量端口3899(或任何新的SSH端口) – 在CentOS上,我相信这些ipables规则位于/etc/sysconfig/iptables
你需要确保SSH deamon真正使用netstat -lnp | grep 3899来监听新的端口 netstat -lnp | grep 3899 。
另外,您需要检查您的防火墙设置。 允许新的端口通过。
如果您得到连接拒绝错误,那么您在第1点有问题。如果您正在获取连接超时错误,那么您在第2点有问题。
运行这个,它应该添加条目,以允许连接到端口3899
iptables -I INPUT -p tcp --dport 3899 -j ACCEPT
您的文章不显示什么是INPUT链的默认策略,或者其他规则是什么。
复制粘贴在这里输出
iptables-save和netstat -nlp那么我们将知道所有需要帮助你的细节。
无论使用dpt:ssh,CentOS都将使用端口22您应该手动打开端口3899
你可以通过运行这个命令来做到这一点:
iptables -I INPUT -p tcp --dport 3899 -j ACCEPT