我似乎无法通过另一个端口通过 SSH 进入我的服务器。我在另一台服务器上有相同的设置,但现在我不知道我的问题出在 IPTables 还是其他方面。有人知道我做错了什么吗?
我正在尝试通过连接,但一直$ ssh [email protected] -p 555
连接被拒绝。
这是我的 IP 表输入
尝试 1
这是我添加的内容(与iptables-persistent
包一起保存)
$ sudo iptables -A INPUT -p tcp -m state --state NEW --dport 555 -j ACCEPT
第二次尝试
我已经尝试过这个,它似乎netstat | grep 555
比上面的列表更好
$ sudo iptables -A INPUT -p tcp --dport 555 -j ACCEPT
IPtables 列表
然后我把它列出来,它似乎就在那里
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:555
这是我的 SSHD 配置
$ head /etc/ssh/sshd_config
# What ports, IPs and protocols we listen for
Port 22
Port 555
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0 <--- This has never been an issue for me
重启 SSH
然后我跑
$ sudo /etc/init.d/ssh restart
答案1
我会尝试完全禁用/停止 iptables,然后看看是否可以通过 SSH 进入。可能有另一条规则阻止了它。
如果仍然被阻止,请在实际服务器上尝试以下操作。
telnet localhost 555
检查端口是否开放(至少在本地,然后尝试 site.com/公共 IP)。
您还可以通过以下方式检查 SSH 是否正在监听
ss -plant | grep ssh
编辑:虽然从 netstat 输出来看它似乎在监听。我想说是防火墙阻止了 SSH 访问。如果可能的话,刷新所有规则,然后从那里开始。