阿里雲ssh斷開處理辦法


一、背景說明

1.1 牆外的吐槽

雲是個好東西但我一直不覺是個有那么好的東西,因為就較多次的體驗來看,用得很難受;如果要我來選我寧願自建機房。要說難受的具體原因原來倒是沒想得很清楚,現在想來網速慢不是最主要的主要的是,主要的是我們站在牆外操作牆內的主機,然后被操作主機要從牆內向牆外反饋結果。

如果是物理機,那么人與設備相對於網絡同處於一側,人可以直接操作機器甚至是物理操作機器;而如果是雲,那么人與設備分處於網絡的兩側,人只能通過網絡操作機器,首先要確保網絡是沒問題的然后操作程度只能限於雲提供的接口。

 

1.2 阿里雲ssh斷開描述

在阿里雲建了幾台虛擬機開放端口后ssh連上去,短則幾秒鍾長則十來分鍾就自動斷開,正在操作也會斷開。

因為會話維持的長短時間不一所以不是定時斷開,由於正在操作也斷開所以也不是會話超時斷開(查看TMOUT確實也未設置),從未見過這種情況不懂什么原因。而且觀察到似乎網絡流量越大斷開越快。

 

二、處理辦法

2.1 無效的網上處理辦法

網上看到最多的處理辦法是編緝/etc/ssh/sshd_config在最后追加以下兩項,然后重啟sshd

cat >> /etc/ssh/sshd_config << EOF
# ClientAliveInterval設定服務端向客戶端發送存活確認的時間間隔,單位為秒
ClientAliveInterval 60
# ClientAliveCountMax設定服務端向客戶端發送存活確認客戶端無響應即主動關閉會話的次數
ClientAliveCountMax 8888
EOF

# systemd也無所謂,會自動重定向到systemctl restart sshd
service sshd restart

從道理上來說這種方法應該是可行的才對,但在多台Centos6和7都未見有效依然斷開。

 

2.2 啟用TCPKeepAlive

經常在yum、make、mvn等命令中途斷開,雖然nohup有些作用,但還是感覺飽受折磨。

無意間注意到本地機器的配置文件中啟用了TCPKeepAlive,而阿里雲中未啟用,試了一下似乎真有用至少就現在觀察來看到了第二天都不會自動斷開。所以最終處理辦法如下:

cat >> /etc/ssh/sshd_config << EOF
# ClientAliveInterval設定服務端向客戶端發送存活確認的時間間隔,單位為秒
ClientAliveInterval 60
# ClientAliveCountMax設定服務端向客戶端發送存活確認客戶端無響應即主動關閉會話的次數
ClientAliveCountMax 8888
# 保持會話
TCPKeepAlive yes
EOF

# systemd也無所謂,會自動重定向到systemctl restart sshd
service sshd restart

(其實也不太確定是不是TCPKeepAlive起了作用,因為我現在注釋掉ssh也沒見斷開,未生效只是阿里雲系統故障?)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM