我正在尝试使用一条从办公室计算机到家用计算机的ssh隧道,并且在尝试使用它时出现错误。
我正在做的是像这样启动一个shell:
ssh -gL 12345:my.home.domain:22 my.home.domain
这给了我适当的外壳,没问题。然后,我通常要做的是通过此办公计算机将SSH SSH到我的家用计算机,如下所示:
ssh -p 12345 127.0.0.1
直到上周,当我在家用计算机上设置新系统(从Ubuntu切换到Debian)时,这一直对我有用。现在我得到一个错误。我仍然可以打开我的初始ssh连接,但是当我尝试使用该隧道时,(在办公计算机上)出现此错误:
ssh_exchange_identification: Connection closed by remote host
另外,当发生这种情况时,我已经建立了隧道的开放式外壳会把这条线吐出来:
channel 3: open failed: connect failed: Connection timed out
在这一点上,我很茫然。如果需要更多信息,我将很乐意发布。
=============进一步==============
进一步摆弄之后,我发现尝试在各个端口上进行telnet连接时,服务器(即我的家用计算机)得到了不同的响应。如果我尝试:
telnet my.home.domain 22
我得到这个:
Trying <my ip address>...
Connected to <my domain>.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze2
这是我所期望的。在设置了隧道之后,然后远程登录到该隧道,我看到以下响应:
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
=================================
根据kbulgrien的建议,这是带有-v选项的客户端计算机的输出:
ssh -vp 24600 127.0.0.1 OpenSSH_5.9p1 Debian-5ubuntu1,OpenSSL 1.0.1 2012年3月14日 debug1:读取配置数据/ etc / ssh / ssh_config debug1:/ etc / ssh / ssh_config第19行:为*应用选项 debug1:连接到127.0.0.1 [127.0.0.1]端口24600。 debug1:建立连接。 debug1:身份文件/home/jacob/.ssh/id_rsa类型-1 debug1:身份文件/home/jacob/.ssh/id_rsa-cert类型-1 debug1:身份文件/home/jacob/.ssh/id_dsa类型-1 debug1:身份文件/home/jacob/.ssh/id_dsa-cert类型-1 debug1:身份文件/home/jacob/.ssh/id_ecdsa类型-1 debug1:身份文件/home/jacob/.ssh/id_ecdsa-cert类型-1 ssh_exchange_identification:连接被远程主机关闭
-v
到失败的ssh命令吗?随后的输出是否给出任何其他故障指示(即channel 1: open failed: administratively prohibited: open failed
)。
-v
同时使用隧道和失败的ssh命令(寻找比东西更多channel 3: open failed: connect failed: Connection timed out
)很有帮助。值得一提的是,一个人可以添加多个-v
(最多三个)以增加详细程度。我不一定会发布全部内容,但是可能值得仔细阅读似乎表明存在问题的单词。
ssh_exchange_identification: Connection closed by remote host
错误的原因之一是在中列出了连接主机/etc/hosts.deny
。