Ssh

ssh隧道時netcat的“-w timeout”選項的目的是什麼?

  • September 4, 2012

我與發布另一個問題的人處於完全相同的情況,我試圖通過網關伺服器建立 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在我使用它時會導致錯誤?省略它有什麼害處?

-w 3原始解決方案中的目的是什麼

當會話不正確關閉時,它可以避免nc在遠端主機上執行孤立的程序。ssh

為什麼Broken pipe我使用它時會導致錯誤?

嘗試將超時時間nc增加到 90 並設置ServerAliveInterval為 30 以查看您的問題是否消失:

host foo
   User webby
   ServerAliveInterval 30
   ProxyCommand ssh a nc -w 90 %h %p

引用自:https://serverfault.com/questions/423960