GNU/Linux >> Tutoriels Linux >  >> Linux

Ssh – Comment Tcp-keepalive fonctionne-t-il dans Ssh ?

J'essaie de coder un script shell qui utilise une connexion ssh pour faire des "battements de coeur". Je souhaite mettre fin aux côtés client et serveur de cette connexion après un certain délai (après l'interruption de la connexion).

Ce que j'ai trouvé jusqu'à présent :

  • TCPKeepAlive oui/non pour ssh et sshd
  • ClientAliveCountMax pour sshd
  • ClientAliveInterval pour sshd
  • ServerAliveCountMax pour ssh
  • ServerAliveInterval pour ssh

Pour changer "ClientAliveCountMax", je devrais modifier le sshd_config sur chaque machine cible (cette option est désactivée par défaut).

Ma question est donc :puis-je également utiliser "TCPKeepAlive" pour mes besoins (sans rien changer d'autre sur les machines source/cible) ?

Le système d'exploitation cible est SLES11 SP2 - mais je ne pense pas que ce soit pertinent ici.

Réponse acceptée :

Vous souhaitez probablement utiliser les paramètres de ServerAlive pour cela. Ils ne nécessitent aucune configuration sur le serveur et peuvent être définis en ligne de commande si vous le souhaitez.

ssh -o ServerAliveInterval=5 -o ServerAliveCountMax=1 $HOST

Cela enverra un message ssh keepalive toutes les 5 secondes, et s'il est temps d'envoyer un autre keepalive, mais qu'aucune réponse au dernier n'a été reçue, la connexion est interrompue.

La différence critique entre ServerAliveInterval et TCPKeepAlive est la couche à laquelle ils opèrent.

  • TCPKeepAlive fonctionne sur la couche TCP. Il envoie un paquet TCP ACK vide. Les pare-feu peuvent être configurés pour ignorer ces paquets, donc si vous passez par un pare-feu qui supprime les connexions inactives, ceux-ci peuvent ne pas maintenir la connexion active.
  • ServerAliveInterval fonctionne sur la couche ssh. Il enverra en fait des données via ssh, de sorte que le paquet TCP contient des données cryptées et un pare-feu ne peut pas dire s'il s'agit d'un paquet keepalive ou d'un paquet légitime, donc cela fonctionne mieux.

Linux
  1. Qu'est-ce qu'un Makefile et comment ça marche ?

  2. Qu'est-ce qu'un serveur Web et comment fonctionne un serveur Web ?

  3. Comment fonctionne une fourche bombe ?

  4. Comment ça marche ? Que fait rm ?

  5. Comment Kerberos fonctionne-t-il avec SSH ?

Comment fonctionne Git ?

Comment fonctionne SFTP ?

Ssh – Comment fonctionne le tunneling Ssh inversé ?

Linux - Comment fonctionne l'affichage de Linux ?

Comment fonctionne la mémoire d'échange sous Linux ?

Comment fonctionne l'affichage de Linux ?