Linux 不响应公共 ip ssh 请求

Linux 不响应公共 ip ssh 请求

我尝试通过 ssh 从家庭网络外部连接到我的家庭服务器,但没有得到任何响应。

当我尝试在本地 ssh 该服务器时,一切都很好。

但是当我从外部执行此操作时,服务器没有响应:

  • 我有公共动态 IP 和无 IP DDNS 名称。
  • 我通过端口 5001 访问 ssh
  • 在我的路由器上,我将端口转发从 5001 设置为 22 并设置为我的服务器的 IP (10.0.0.70)
  • 使用tshark转储网络我可以看到传入的SSH数据包到服务器ip(源ip是我的路由器的ip,我的公共ip),但服务器没有响应。

这让我觉得,有一些针对公共 IP 的过滤器设置。 UFW 设置为允许 22 端口。

问题可能出在 sshd_config 吗?

sshd_config 中唯一未注释的行是:

  • include /etc/ssh/sshd_config.d/*.conf #sshd_config.d中没有文件
  • 质询响应身份验证 否
  • 使用PAM 是
  • X11转发 是
  • 打印型号
  • AcceptEnv LANG LC_*
  • 子系统 sftp /usr/lib/openssh/sftp-server

有什么建议么? :)

编辑:(试图获取更多信息)

sobik@Sobik-MacBook-Pro ~ % ssh -v -p 5001 [email protected]
OpenSSH_8.6p1, LibreSSL 2.8.3
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to myip.hopto.org port 5001.'

然后..超时

sudo iptables -L -v -n | grep :22得到:

30 1976 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

答案1

需要检查的事项:

  • Debian 11 正开始从 过渡iptablesnftables,所以除了iptables -L -vn,还要检查nft list ruleset
  • Debiansshd使用,因此和libwrap.so的内容也会对允许哪些连接和不允许哪些连接产生影响。如果您想允许来自任何地方的传入 SSH 连接,请确保其中有一行。/etc/hosts.deny/etc/hosts.allow/etc/hosts.allowsshd: ALL
  • 在服务器端,检查grep sshd /var/log/auth.logjournalctl _SYSTEMD_UNIT=sshd.service

相关内容