问题是,当我使用 putty ssh 到我的主机并输入用户名时,密码提示会延迟。我发现这与我的 iptables 直接相关,可以通过将默认策略更改为 ACCEPT 来解决。如果默认 INPUT 策略是 ACCEPT,则密码提示会立即出现。
Mar 13 00:05:01 server-ubuntu sshd[6154]: Connection from 192.168.0.10 port 26304
Mar 13 00:05:06 server-ubuntu sshd[6154]: Failed none for acid from 192.168.0.10 port 26304 ssh2
但是,如果默认 INPUT 策略为 DROP,则输入用户名后输入密码提示会稍微延迟
Mar 13 00:07:12 server-ubuntu sshd[6177]: Connection from 192.168.0.10 port 26333
Mar 13 00:07:35 server-ubuntu sshd[6177]: Failed none for acid from 192.168.0.10 port 26333 ssh2
对于第二种情况,我尝试将 FORWARD 和 OUTPUT 链的默认策略设置为 ACCEPT,但没有帮助。在这种情况下,唯一的规则是:
-A INPUT -i eth1 -m mac --mac-source 00:26:XX:XX:XX:XX -j ACCEPT
00:26:XX:XX:XX:XX 是我尝试通过 ssh 连接到服务器 LAN(eth1)的 mac 地址。
我确信一定存在一些规则,当默认 INPUT 链策略为 DENY 时,我可以使用这些规则立即获得密码提示。我意识到日志中的错误消息是正常的,是某些验证过程的一部分。
答案1
根据上面的评论。
暂停是由于 iptables 阻止 DNS 查询造成的。通过打开端口 53 解决了这个问题
-A INPUT -i eth1 -p UDP --sport 53 -j ACCEPT