S'échaper devant un problème

Publié le par Peck

Maintenant sur http://linux-attitude.fr/post/Sechaper-devant-un-probleme

Niveau
:
Résumé: ^] et ~.

Telnet et son successeur sécurisé ssh sont des client permettant un accès distant. Tout caractère tapé dans le client est aussitôt transmis au système distant qui aura la charge de l'interpréter. Tous ! Non, quelques caractères résistent encore et toujours au transfert sauvage.

En effet, il est possible de donner des commandes directement au client avec le clavier. Pour que celles-ci fonctionnent, il faut que certains caractères ne soient pas envoyés au serveur mais interprétés par le client lui-même. Ce sont des caractères de contrôle. Nous allons voir le cas particulier du caractère d'échappement.


Telnet

Le caractère d'échappement de telnet est par défaut ^] (ou ctrl-] selon l'écriture choisie). Tapez ensuite "help<return>" pour avoir la liste des commandes que peut comprendre telnet. La plus importante à connaître est quit.

Elle est utile lorsque vous tentez de vous connecter à une machine avec telnet et que votre connexion est bloquée pour une raison ou pour une autre. Ex :
$ telnet localhost imap
> Trying 127.0.0.1...
> Connected to localhost.
> Escape character is '^]'.
Si on ne connaît pas le protocole, on ne peut plus sortir de telnet car l'imap demande une séquence bien particulière pour vous déconnecter. De plus une fois connecté le ctrl-c ne fonctionne plus car il est envoyé comme tout autre caractère. Il vous faut donc donc taper "^]quit<return>" pour forcer la déconnexion.

Note: le caractère de contrôle ^E (ou ctrl-E) permet de désactiver l'affichage de ce qu'on est en train de taper, c'est parfois utile si le serveur répète ce que vous écrivez.


Ssh

Le caractère d'échappement de ssh est par défaut ~ attention, il ne fonctionne qu'après un retour à la ligne. L'aide est cette fois disponible avec la séquence ~? et la commande la plus importante est ~. qui permet comme avec telnet de couper la connexion et de quitter ssh.

Par exemple si vous lancez un processus qui bloque votre shell ou si le serveur distant ne répond plus, vous ne pouvez plus rien faire. La séquence permet d'arreter directement le client ssh sans attendre un timeout.

Une autre commande particulièrement utile de ssh est ~C elle permet de rentrer dans un mode commande de ssh. Help vous donnera plus d'infos, mais cette commande permet surtout d'ajouter ou de supprimer des tunnels directement comme vous l'auriez fait avec les options -L et -R, mais cette fois sans relancer ssh.

Publié dans admin

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article