我对这方面还算是新手,但我会尽力解释清楚。首先,我在 MacOSX 上,在 ubuntu 下有一个远程服务器,我想通过 ssh 访问它。
系统管理员给了我一个 IPsec,当我连接到它时,我无法访问互联网,但我可以通过 ssh 连接到我的服务器。因此,无论我在哪里,我都可以连接到 VPN IPsec,然后连接到我的远程服务器,而无需在本地网络上。
现在我也可以从我的办公桌访问本地互联网连接,从那里我可以 ping 服务器,我也可以通过 Web 界面访问它(通过在浏览器中输入 IP 地址)但我无法使用 ssh 连接到服务器。
这是我得到的:
$ ssh XX.XXX.XXX.X -v
OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /Users/me/.ssh/config
debug1: /Users/me/.ssh/config line 1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: Connecting to XX.XXX.XXX.X port 22.
debug1: Connection established.
debug1: identity file /Users/me/.ssh/id_rsa type 0
debug1: key_load_public: No such file or directory
debug1: identity file /Users/user/.ssh/id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6
ssh_exchange_identification: read: Operation timed out
在得到这个之前,我尝试生成 rsa 密钥并将我的公钥放在远程服务器上(因为我可以连接到 VPN),但我仍然收到错误。如您所见,连接已建立,但似乎有什么东西阻碍了我的计算机和服务器之间的通信,到目前为止我还没有找到解决这个问题的方法……
编辑1: 所以我尝试使用额外的详细 -vvv,但我没有看到任何区别
$ ssh XX.XXX.XXX.X -vvv
OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /Users/me/.ssh/config
debug1: /Users/me/.ssh/config line 1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to XX.XXX.XXX.X port 22.
debug1: Connection established.
debug1: identity file /Users/me/.ssh/id_rsa type 0
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6
ssh_exchange_identification: read: Operation timed out
编辑2: 所以我尝试添加更多信息:我生成了一个 rsa 密钥,并将我的公钥复制/粘贴到远程服务器上的 .ssh/authorized_keys 中
当我通过这种方式检查服务器上的日志时:
cat /var/log/auth.log
我的连接尝试没有任何痕迹