我让第三方公司强化了我们的服务器。我现在需要我的服务器主机更新我们的 SSL 证书,但他们无法通过 SSH 进行更新。我甚至不让他们输入用户名和密码。
现在,当第三方进入时,我遇到了同样的问题,他们说他们需要添加我的 IP 才能访问。
所以我想我只需要将我的服务器主机 ip 添加到 iptable 中,但这不起作用。
我还尝试了其他方法:
/sbin/iptables -A INPUT -s 10.10.10.10 -j ACCEPT
我跑步时就能看到它
iptables -L
但这并不管用
我也将 ip 添加到 hosts.allow 中,但没有用
答案1
如果看不到 INPUT 链的全部内容,我们只能猜测。使用-A
会在链的末尾添加一条规则。这通常会导致规则被忽略,因为现有规则首先作用于数据包,而使用 iptables,顺序很重要,第一个匹配的规则获胜。
使用-I INPUT
将规则插入到链的开头(或-I INPUT n
对于某些有意义的值n
)将其插入到链中的特定点,以便它在任何其他操作之前起作用。
通常情况下,INPUT 链中的最后一条规则将用于拒绝所有到达它的数据包。
答案2
- sshd 正在监听吗?登录到控制台(如果可以的话)并且
telnet localhost 22
你得到了响应吗? - 在同一子网上的不同主机上:
telnet [server ip] 22
您收到响应了吗?
如果您没有获得任何 tcp 连接,那么它就是 iptables、tcpwrapper 或 sshd 配置。
查看 sshd_config 以了解 ListenAddress、Match 或 hostBasedAuthentication 指令给出的限制。
查看 /var/log/secure 的日志和任何 tcp 包装器日志。
暂时关闭(如果可以的话)iptables 并iptables --flush
测试连接。