远程 ssh 不被允许

远程 ssh 不被允许

我让第三方公司强化了我们的服务器。我现在需要我的服务器主机更新我们的 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

  1. sshd 正在监听吗?登录到控制台(如果可以的话)并且telnet localhost 22 你得到了响应吗?
  2. 在同一子网上的不同主机上:telnet [server ip] 22您收到响应了吗?

如果您没有获得任何 tcp 连接,那么它就是 iptables、tcpwrapper 或 sshd 配置。

查看 sshd_config 以了解 ListenAddress、Match 或 hostBasedAuthentication 指令给出的限制。

查看 /var/log/secure 的日志和任何 tcp 包装器日志。

暂时关闭(如果可以的话)iptables 并iptables --flush测试连接。

相关内容