當我使用ssh登錄遠程服務器並打開vim時,如果我沒有輸入任何單詞,會話將超時,我必須重新登錄。 但是,如果我運行命令像頂部會話永遠不會超時? 是什麼原因?使用「vim」可以導致ssh超時但「top」不是
1
A
回答
1
注意的行爲你」重新看到與vim
或top
無關。機會很大,一些路由器正在剔除「死亡」的TCP會話。這通常通過NAT firewall或stateful firewall來完成,以減少內存壓力並防止簡單的拒絕服務攻擊。
也許ServerAliveInterval
配置選項可以讓你的空閒尋找會話被收割:
ServerAliveInterval
Sets a timeout interval in seconds after which if no
data has been received from the server, ssh(1) will
send a message through the encrypted channel to request
a response from the server. The default is 0,
indicating that these messages will not be sent to the
server, or 300 if the BatchMode option is set. This
option applies to protocol version 2 only.
ProtocolKeepAlives and SetupTimeOut are Debian-specific
compatibility aliases for this option.
嘗試增加ServerAliveInterval 180
您~/.ssh/config
文件。這將每三分鐘要求一次keepalive探測,這應該比許多防火牆超時更快。
0
因爲「top」總是通過SSH控制檯返回數據,所以它將保持活動狀態。
「vim」不會因爲它是靜態的,只能根據您的按鍵傳輸數據。
缺少傳輸的數據會導致SSH會話超時
1
VIM將只是坐在那裏等待輸入,以及(除非你已經得到了終端屏幕上的時鐘或東西)也不會產生任何輸出。如果這種情況持續很長時間,大多數防火牆都會將連接視爲死亡並將其殺死,因爲沒有活動。
比較而言,每隔幾秒鐘就會更新一次屏幕,這被視爲活動並且連接保持打開狀態,因爲定期有IS數據在其上流動。
有選項,你可以添加SSH服務器的配置來發送定時的「空」數據包保持連接活着,即使沒有實際的用戶數據通過鏈接去:http://www.howtogeek.com/howto/linux/keep-your-linux-ssh-session-from-disconnecting/
相關問題
- 1. 碼頭機可以ssh但不是scp
- 2. 亞馬遜EC2由於不活動而導致的ssh超時
- 3. 有沒有oracle錯誤導致Linux系統可以ping但不能ssh?
- 4. UIWebView超時因因特網不可用導致的問題?
- 5. Ansible無法與ssh連接,但是我可以(使用ssh密鑰)
- 6. 是否可以用鼠標使用vim
- 7. 使整個元素可拖動,但不是一切導致拖
- 8. 由於超時而導致異常後可以繼續使用NetworkStream嗎?
- 9. 不能使用python3.5導入numpy,但可以使用python2.7導入
- 10. 是否可以通過SSH使用os.walk?
- 11. 腳本導致超時
- 12. DB2 Union導致超時?
- 13. ADO.NET參數導致超時
- 14. 導致超時的SQL'OR'
- 15. HttpWebRequest.AllowAutoRedirect = false會導致超時?
- 16. 如何導致ldap_simple_bind_s超時?
- 17. Espresso:pullToRefresh導致Espresso超時
- 18. 如何導致超時
- 19. 以增量方式使用z3但會導致更多時間
- 20. 可以使用sem_trywait()導致死鎖
- 21. 可以使用FileShare.Delete導致UnauthorizedAccessException?
- 22. SSH可以進入服務器,但不是git push
- 23. 導致超時的致命錯誤-mysql
- 24. SqlParameter和ExecuteNonQuery導致不可重複的超時
- 25. WCF和不活動超時:是否可以禁用不活動超時?
- 26. Vim grep導致字符暫時消失
- 27. Calloc導致段錯誤,但不是malloc
- 28. 對vim使用css_color插件導致omni完成不起作用
- 29. 「流浪者達」的ssh超時了,但「流浪的SSH」後
- 30. 什麼原因導致:java.net.SocketException:連接超時,不是SocketTimeoutException
非常感謝你。那個Top是在服務器主動發送「消息」還是我的電腦要求頂部發送消息給我? – worldterminator 2012-03-09 04:02:53
這是頂尖的舉措。這是系統活動的「實時」顯示,並且定期刷新輸出。如果我沒有記錯,你可以用'i'鍵設置間隔。 – 2012-03-09 14:33:50