我使用 Centos 7。我禁用了 iptables:
sudo service iptables stop
sudo chkconfig iptables off
我还禁用了 SeLinux:
$sestatus
SELinux status: disabled
但是端口被封锁了。端口 22 可以使用,但如果我更改 ssh 服务器端口(例如 2222),那么 ssh 会返回消息:
No route to host
什么阻塞了我的端口以及如何解决?
编辑
我更改了 sshd 端口,因为我想检查它是否有效。我想确保端口被阻止。因此,当我在/etc/ssh/sshd_config
machine1 上的文件中将端口设置为 2222 并重新启动 ssh 服务时,来自 machine2 的以下命令将产生以下结果:
$ssh -X [email protected] -p 2222
ssh: connect to host 192.168.0.10 port 2222: No route to host
此示例显示端口被阻止。事实上,我无法连接到 X 服务器,我认为端口阻止是导致这种情况的原因。
答案1
我认为你应该试着停止防火墙,因为现在在基于 RH7 的操作系统中firewalld 取代了 iptables。
尝试检查它是否正在运行:
systemctl status firewalld
如果它正在运行,只需使用以下命令停止它:
systemctl stop firewalld
答案2
“没有到主机的路由” - 表示防火墙阻止了连接,而不是其他原因。这意味着您的计算机无法确定要使用哪个网络通信接口来访问该主机 - 请检查您使用的远程计算机的 IP 地址或 DNS 名称是否正确