我的情况和发帖人完全一样另一个问题,我正尝试通过网关服务器建立 ssh 连接隧道,而不必通过 ssh 进入网关,然后从那里手动再次通过 ssh 进入目标服务器。我正尝试设置那里接受的答案中给出的解决方案,其中~/.ssh/config
包括:
host foo
User webby
ProxyCommand ssh a nc -w 3 %h %p
host a
User johndoe
但是,当我尝试时ssh foo
,我的连接保持活动状态 3 秒,然后因错误而终止Write failed: Broken pipe
。删除该-w 3
选项可以解决问题。-w 3
原始解决方案中该选项的目的是什么?为什么Broken pipe
使用它会导致错误?省略它有什么害处?
答案1
-w 3
原始解决方案中这个的目的是什么
当会话不当关闭时,它可以避免nc
在远程主机上留下孤立的进程运行。ssh
为什么
Broken pipe
我使用它时会出现错误?
尝试将超时时间增加到nc
90 并设置ServerAliveInterval
为 30,看看问题是否消失:
host foo
User webby
ServerAliveInterval 30
ProxyCommand ssh a nc -w 90 %h %p