SSH 卡在 client_input_global_request:rtype hostkeys-00@openssh.com want_reply 0

Posted

技术标签:

【中文标题】SSH 卡在 client_input_global_request:rtype hostkeys-00@openssh.com want_reply 0【英文标题】:SSH stuck to client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0 【发布时间】:2019-04-23 22:24:19 【问题描述】:

我正在尝试连接到我的 Mac 上的 vagrant 机器(我使用的是 Mac OS High Sierra)。 我正在使用私钥连接到它,但我卡在这条线上:

client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0

我使用以下命令行:

ssh -v -N  -L localhost:5432:192.168.33.10:5432 -o ConnectTimeout=1 -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -i /Users/MacUser/Desktop/Vagrant_Project/.vagrant/machines/default/virtualbox/private_key -p 22 vagrant@192.168.33.10

结果如下:

OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: Connecting to 192.168.33.10 [192.168.33.10] port 22.
debug1: fd 3 clearing O_NONBLOCK
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /Users/MacUser/Desktop/Vagrant_Project/.vagrant/machines/default/virtualbox/private_key type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/MacUser/Desktop/Vagrant_Project/.vagrant/machines/default/virtualbox/private_key-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2 Ubuntu-4ubuntu2.6
debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.6 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 192.168.33.10:22 as 'vagrant'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:Ju/ngomtpiyMPtrgFsK+ttKbFUR9BwW3CyDFjo5KITc
debug1: Host '192.168.33.10' is known and matches the ECDSA host key.
debug1: Found key in /Users/MacUser/.ssh/known_hosts:3
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/MacUser/Desktop/Vagrant_Project/.vagrant/machines/default/virtualbox/private_key
debug1: Authentication succeeded (publickey).
Authenticated to 192.168.33.10 ([192.168.33.10]:22).
debug1: Local connections to localhost:5432 forwarded to remote address 192.168.33.10:5432
debug1: Local forwarding listening on ::1 port 5432.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on 127.0.0.1 port 5432.
debug1: channel 1: new [port listener]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0

有人可以给我一个提示来解决这个问题吗?我被困在这一点上,永远。 我认为问题应该在 Vagrant 和 Mac Os 之间。同一个 vagrant 虚拟机在 Windows 环境下工作。

【问题讨论】:

【参考方案1】:

通过堡垒主机连接到实例时,ProxyJump 指令遇到了同样的问题。该过程在同一行之后超时。原来防火墙从堡垒主机断开连接存在问题。

据我所知,您与 192.168.33.10 的连接成功并在本地主机上打开侦听端口 5423 后挂起。因此,您要么有防火墙阻止连接到端口 5423 上的本地主机,要么有防火墙阻止端口 5423 上的 192.168.33.10

要解决这个问题,您必须使用 telnet\nmap 实用程序手动测试这些端口 语法如下:

telnet localhost 5423

nmap -p 5423 192.168.33.10

如果端口打开,您将看到以下消息

转义字符是'^]'。

如果端口被防火墙关闭,telnet 将挂起并显示以下消息

正在尝试 172.18.0.47...

如果端口被fireawll关闭,nmap会告诉你它的过滤

港口国服务

80/tcp 过滤http

如果端口已通过防火墙打开,但没有应用程序在此端口上侦听,您将收到一条消息

telnet:无法连接到远程主机:连接被拒绝

之后,您需要打开这些端口。在 linux 机器上只需发出以下命令

iptables -I INPUT -p tcp --dport 5423 --syn -j ACCEPT && service iptables save

在 MacOS 上,您需要修改此文件 /etc/pf.conf(通过此 article 找到)

【讨论】:

以上是关于SSH 卡在 client_input_global_request:rtype hostkeys-00@openssh.com want_reply 0的主要内容,如果未能解决你的问题,请参考以下文章

ssh 卡在 debug1:已发送 SSH2_MSG_KEX_DH_GEX_REQUEST(2048<3072<8192)

一段时间后,当从 Windows SSH 到 linux 机器时,子进程(在分叉后创建)卡在 Windows 上

ssh连接卡在【To escape to local shell, press 'Ctrl+Alt+]'.】的解决方法

ssh连接卡在To escape to local shell, press 'Ctrl+Alt+]'.的解决方法

SSH 卡在 client_input_global_request:rtype hostkeys-00@openssh.com want_reply 0

Vagrant 卡在“等待 VM 启动”