我能夠通過SSH向我的EC2實例發出命令,這些命令記錄了我應該長期觀看的答案。壞消息是,由於我的閒置狀態,SSH命令在一段時間後關閉,我不再能看到我的實例正在發生什麼。亞馬遜EC2由於不活動而導致的ssh超時
如何在Amazon Linux機器中禁用/增加超時?
錯誤看起來是這樣的:
Read from remote host ec2-50-17-48-222.compute-1.amazonaws.com: Connection reset by peer
我能夠通過SSH向我的EC2實例發出命令,這些命令記錄了我應該長期觀看的答案。壞消息是,由於我的閒置狀態,SSH命令在一段時間後關閉,我不再能看到我的實例正在發生什麼。亞馬遜EC2由於不活動而導致的ssh超時
如何在Amazon Linux機器中禁用/增加超時?
錯誤看起來是這樣的:
Read from remote host ec2-50-17-48-222.compute-1.amazonaws.com: Connection reset by peer
考慮使用screen
或byobu
並且問題可能會消失。更重要的是,即使連接丟失,您也可以通過screen -r
或byobu -r
重新連接並恢復與之前相同的終端屏幕。
byobu是一個屏幕增強,並有一個很好的選項,如EC2成本的估計。
我知道膩子你可以利用保活設置,以便它會發出一些活動數據包,每隔一段時間,以不走「閒置」或「過時」
http://the.earth.li/~sgtatham/putty/0.55/htmldoc/Chapter4.html#S4.13.4
如果你使用的是其他客戶端讓我知道。
我正在使用bash ssh。 – Roberto
假設您的Amazon EC2實例在運行Linux(和您正在使用SSH-2,而不是1很可能發生的情況),下面應該工作得得心應手:
遠程連接到您的EC2實例。
ssh -i <YOUR_PRIVATE_KEY_FILE>.pem <INTERNET_ADDRESS_OF_YOUR_INSTANCE>
向實例的SSH服務器配置文件添加一個「client-alive」指令。
echo 'ClientAliveInterval 60' | sudo tee --append /etc/ssh/sshd_config
重新啓動或重新加載SSH服務器,以便識別配置更改。
上Ubuntu Linux操作系統對於命令是..
sudo service ssh restart
在任何其他Linux,不過,以下是可能是正確的..
sudo service sshd restart
Di sconnect。
logout
你SSH連接到該EC2實例下一次,那些超級討厭頻繁的連接凍結/超時/分出應該有希望消失。
這對Google Compute Engine實例也有幫助,這些實例帶有類似惱人的默認設置。
警告:請注意,TCPKEEPALIVE設置(這也是存在的)是微妙的,但來自ClientAlive設置,我上面的建議明顯不同,而且從默認改變TCPKEEPALIVE設置實際上可能會傷害你情況而不是幫助。
您可以設置保持連接的選項在你的〜/ .ssh /配置您的計算機的主目錄文件:
ServerAliveInterval 50
亞馬遜AWS通常下降後您的連接只有60秒的不活動,所以這個選項會每隔50秒對服務器進行一次ping操作,並保持連接無限期。
此設置位於客戶端,與AWS服務器相反,對嗎?在答案中值得一提。另外,你確定60秒嗎?這肯定比我的關係需要更長的時間。 – CupawnTae
是的,它在客戶端,在您的* nix計算機上的ssh配置中。我會更新答案,謝謝! 對我來說,這實際上是120秒,但我有一個同事在另一個地區工作,並在60秒內超時。不要問我爲什麼,我不在亞馬遜工作!這就是爲什麼我說「通常」60秒。我認爲建議50秒是謹慎的,因爲1.它幾乎適用於所有人,2.它不會打斷你的網絡連接,它只是一個ping。你可以放10秒,它仍然足夠輕,不會陷入某種服務器禁令。 – mauriciomdea
非常感謝。不活動1分鐘後重新連接是很痛苦的。它幫助了我。 –
有沒有一個很好的教程這些? EC2主機上都沒有預先安裝,並且從我讀過的內容中可以看出,它們應該在服務器上運行它們。 –
我更喜歡@ brandnewcode的'ServerAliveInterval',如下。我一直在使用tmux,這與屏幕很相似。 tmux的一個非預期的好處是狀態欄上的時鐘每分鐘更新一次,保持連接打開。 tl; dr:'tmux'開始會話,'tmux a'重新連接。 – dannyman
這不應該被標記爲正確的答案,因爲它回答了一個不同的問題。 –