我在使用 Ubuntu 14.04 LTS(内核:3.13.0-170-generic)配置多个 ssh 端口时遇到了一个奇怪的问题。它从任何接口响应第一个端口“22”,但似乎只通过本地主机接口(即“ssh @localhost”)响应第二个端口“4422”。任何建议都很好。
我在 /etc/ssh/sshd_config 文件中添加了标准端口条目。例如端口“22”和“4422”。我保留了默认的 ListenAddress。
# What ports, IPs and protocols we listen for
Port 22
Port 4422
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0enter code here
我已检查 netstat -plan 和 sshd 已锁定到正确的端口和接口。
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1090/sshd
tcp 0 0 0.0.0.0:4422 0.0.0.0:* LISTEN 1090/sshd
尝试通过除 lo ssh 之外的任何接口连接到端口 4422 均失败。您可以看到数据包正在进入接口,因此通过 tcpdump 不会出现防火墙问题。
再次强调,任何帮助都将非常有帮助。
还要注意的是,由于我的开发团队的要求,我们只能使用 Ubuntu 14.04 LTS。请不要问,它很长。
答案1
结果是 Ferm 导致了 iptables 问题。