无法 ssh 到我的公共 IP

无法 ssh 到我的公共 IP

我已经能够使用 ssh username@publicip 登录到我的开发箱(位于我的家庭网络中)一段时间了,但是最近由于以下错误,这变得不可能了

ssh_exchange_identification:读取:对等方重置连接

奇怪的是,如果我使用网络地址而不是公共地址,我就能毫无问题地连接。

我的同事也能够通过 SSH 连接到公共 IP 地址,而且没有任何问题。

这可能是什么原因造成的?我该如何解决?我快速谷歌了一下,它建议我查看我的 etc/hosts.deny 文件,但我没有这个文件。

谢谢

答案1

如果您使用 rsa 密钥验证,您可能需要确保 authorized_keys 文件最近没有在开发服务器上被修改。

如果其他方法都失败了,您可以在调试模式下运行 sshd sshd -d,然后从客户端终端进行 ssh 连接。这将打印出大量信息。在输出中搜索错误/失败。

去做这个:

  1. sudo service sshd stop# 不用担心,您的活动 ssh 连接不会被终止,只有新连接会受到影响。
  2. /usr/sbin/sshd -d ... 输出调试信息...

  3. 从客户端终端(您的工作站),使用 -v 选项(详细)通过 ssh 连接到开发服务器:ssh -v [email protected]

  4. 仔细阅读输出中的调试信息sshd -d和 ssh 客户端详细输出

  5. -- 修复问题 --

  6. Ctrl-C 退出sshd -d“退出调试。
  7. sudo service sshd start# 重新启动 sshd 守护进程

答案2

你能测试一下主机的 ping 吗?它可能解析不正确。如果是这种情况,你可能需要检查 DNS 上的 TTL,或者手动解析它,在 /etc/hosts 中设置以下行,其中你的 IP 地址是 xxxx,你的主机是 yourhost.com

x.x.x.x yourhost.com

相关内容