我可以通过SSH向我的EC2实例发出命令,这些命令记录了我应该长时间观看的答案。糟糕的是,由于我的不活动,SSH命令在一段时间后关闭,我不再能够看到我的实例发生了什么。
如何在Amazon Linux机器中禁用/增加超时?
错误如下所示:
Read from remote host ec2-50-17-48-222.compute-1.amazonaws.com: Connection reset by peer
答案 0 :(得分:101)
您可以在计算机主目录的〜/ .ssh / config文件中设置keep alive选项:
ServerAliveInterval 50
亚马逊AWS通常会在仅60秒不活动后断开连接,因此此选项将每隔50秒对服务器执行一次ping操作,并使您无限期地保持连接。
答案 1 :(得分:34)
假设您的Amazon EC2实例正在运行Linux(并且很可能是您使用SSH-2,而不是1),以下应该非常方便:
远程登录您的EC2实例。
ssh -i <YOUR_PRIVATE_KEY_FILE>.pem <INTERNET_ADDRESS_OF_YOUR_INSTANCE>
添加&#34;客户端活着&#34;指向实例的SSH服务器配置文件。
echo 'ClientAliveInterval 60' | sudo tee --append /etc/ssh/sshd_config
重新启动或重新加载SSH服务器,以便识别配置更改。
Ubuntu Linux 上的命令将是..
sudo service ssh restart
在任何其他Linux 上,以下内容可能正确..
sudo service sshd restart
断开连接。
logout
下次你进入那个EC2实例时,那些超级烦人的频繁连接冻结/超时/丢弃应该会消失。
这也有助于Google Compute Engine实例,它们具有类似烦人的默认设置。
警告: 请注意 TCPKeepAlive 设置(也存在)是微妙的,但与明显不同我上面提出的ClientAlive 设置,以及从默认设置中更改TCPKeepAlive设置实际上可能会损害您的情况而不是帮助。
答案 2 :(得分:10)
考虑使用screen
或byobu
,问题可能会消失。更重要的是,即使连接丢失,您也可以通过screen -r
或byobu -r
重新连接和恢复对之前同一终端屏幕的访问权限。
byobu是一个屏幕增强功能,有一套很棒的选项,比如估算EC2成本。
答案 3 :(得分:7)
我知道Putty你可以使用keepalive设置,所以它会经常发送一些活动包,以免“空闲”或“陈旧”
http://the.earth.li/~sgtatham/putty/0.55/htmldoc/Chapter4.html#S4.13.4
如果您正在使用其他客户,请告诉我。
答案 4 :(得分:0)
您可以使用具有以下设置的Mobaxterm免费选项卡式SSH终端-
Settings -> Configuration -> SSH -> SSH keepalive
请记住在更改设置后重新启动Mobaxterm应用。
答案 5 :(得分:-8)
我有10多个基于Amazon Linux AMI的自定义AMI,并且由于SSH连接不活动,我从未遇到过任何超时问题。我已经连接保持打开超过24小时,没有运行单个命令。我不认为亚马逊Linux AMI中有任何超时。