我希望访问服务器,比如x.x.x.x
VPN 中的服务器。 VPN 的网关是y.y.y.y
。我正在使用 openconnect VPN 客户端连接到网关y.y.y.y
,并且我能够使用我的 VPN 凭据成功连接。
x.x.x.x
连接VPN后Ping和运行traceroute也成功。奇怪的是,当我尝试x.x.x.x
使用 ssh 与我的用户名进行连接时,ssh 命令挂起并且不提示输入密码。我使用以下命令进行连接:
ssh [email protected]
我正在使用 Ubuntu 16.04 和 VPN 客户端 openconnect。
更新1
我能够使用 Ubuntu 的 puTTY 连接到该服务器,因此这意味着该服务器正在接受入站 ssh 连接。但仍然让我困惑的是命令行中的 ssh 仍然无法连接到服务器。netcat x.x.x.x 22
连接VPN后运行,得到的响应是: SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.4
。
我非常想在命令行中使用 ssh 进行连接,因为我需要 X11 转发,并且我可以在 ssh 中使用 -X 标志来完成此操作。
另外,我无法在 Ubuntu 中使用 puTTY 使用 X11 转发(由于 Xming,在 Windows 中这很容易)。
更新2
ssh 抛出错误,指出 -d 是一个未知选项。我尝试使用 ssh 指定 -v(详细)标志。以下是输出:
OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g 1 Mar 2016
debug1: Reading configuration data /home/varshaneya/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to x.x.x.x [x.x.x.x] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/varshaneya/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/varshaneya/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/varshaneya/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/varshaneya/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/varshaneya/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/varshaneya/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/varshaneya/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/varshaneya/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.4
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2 Ubuntu-4ubuntu2.4
debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.4 pat OpenSSH* compat 0x04000000
debug1: Authenticating to x.x.x.x:22 as 'user'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
然后挂起...
答案1
答案2
我因为类似的问题来到这个网站。当通过 VPN 连接到我的家庭网络时,我无法通过 ssh 连接到我的 Ubuntu 虚拟机。我的问题的简单答案是我的路由器为 VPN 用户创建一个 VLAN。当然,我会阻止 VLAN 间流量,但这并不是我首先想到的事情。花了一段时间才弄清楚。但创建一个简单的防火墙规则以允许 VPN 连接连接到我的虚拟机解决了问题。在 Unifi 产品上,有 LAN 排除规则。也许这也对其他人有帮助。