Je peux envoyer des commandes à mes instances EC2 via SSH et ces commandes enregistrent les réponses que je suis censé continuer à surveiller pendant longtemps. La mauvaise chose est que la commande SSH est fermée après un certain temps en raison de mon inactivité et je ne suis plus en mesure de voir ce qui se passe avec mes instances.
Comment puis-je désactiver/augmenter le délai d'expiration sur les machines Amazon Linux?
L'erreur ressemble à ceci:
Read from remote Host ec2-50-17-48-222.compute-1.amazonaws.com: Connection reset by peer
Pensez à utiliser screen
ou byobu
et le problème disparaîtra probablement. De plus, même si la connexion est perdue, vous pouvez vous reconnecter et restaurer l'accès au même écran de terminal que vous aviez auparavant, via screen -r
ou byobu -r
.
byobu est une amélioration pour l'écran et dispose d'un merveilleux ensemble d'options, telles qu'une estimation des coûts EC2.
Vous pouvez définir une option de maintien en vie dans votre fichier ~/.ssh/config sur le répertoire personnel de votre ordinateur:
ServerAliveInterval 50
Amazon AWS interrompt généralement votre connexion après seulement 60 secondes d'inactivité, donc cette option enverra une requête ping au serveur toutes les 50 secondes et vous gardera connecté indéfiniment.
En supposant que votre instance Amazon EC2 exécute Linux (et le cas très probable où vous utilisez SSH-2, pas 1), les éléments suivants devraient fonctionner assez facilement:
À distance dans votre instance EC2.
ssh -i <YOUR_PRIVATE_KEY_FILE>.pem <INTERNET_ADDRESS_OF_YOUR_INSTANCE>
Ajoutez une directive "client vivant" au fichier de configuration du serveur SSH de l'instance.
echo 'ClientAliveInterval 60' | Sudo tee --append /etc/ssh/sshd_config
Redémarrez ou rechargez le serveur SSH, pour qu'il reconnaisse le changement de configuration.
La commande pour cela sur Ubuntu Linux serait ..
Sudo service ssh restart
Sur tout autre Linux , cependant, ce qui suit est probablement correct.
Sudo service sshd restart
Déconnectez-vous.
logout
La prochaine fois que vous vous connecterez à cette instance EC2, ces gels/délais d'attente/interruptions fréquents super ennuyeux devraient disparaître.
Cela aide également les instances de Google Compute Engine, qui sont livrées avec des paramètres par défaut ennuyeux similaires.
Attention: Notez que TCPKeepAlive les paramètres (qui existent également) sont subtilement, mais distinctement différents des paramètres ClientAlive que je propose ci-dessus, et que la modification des paramètres TCPKeepAlive de la valeur par défaut peut en fait nuire à votre situation plutôt que de vous aider.
Plus d'informations ici: http://man.openbsd.org/?query=sshd_config
Je sais que pour PuTTY, vous pouvez utiliser un paramètre Keepalive afin qu'il envoie des paquets d'activités de temps en temps pour ne pas devenir "inactif" ou "périmé".
http://the.earth.li/~sgtatham/PuTTY/0.55/htmldoc/Chapter4.html#S4.13.4
Si vous utilisez un autre client, faites-le moi savoir.