Fermer la connexion telnet avec élégance depuis le mode session lui-même sans passer à l'invite telnet

16

une connexion telnet normale est comme ceci:

telnet localhost 22
Essayer 127.0.0.1 ...
Connecté à localhost.
Le caractère d'échappement est '^]'.
SSH-2.0-OpenSSH_4.2
^]
telnet> fermer
Connexion fermée.

Je veux le fermer de la session telnet sans venir à l'invite telnet en appuyant sur. Mon exigence est que si j'appuie sur un caractère de contrôle de la session telnet comme CTRL + A, il sortira de la session et le fermera automatiquement. quelque chose comme ça:

$ telnet localhost 22
Essayer 127.0.0.1 ...
Connecté à localhost.
Le caractère d'échappement est '^]'.
SSH-2.0-OpenSSH_4.2
^ A
Connexion fermée.
$

J'ai essayé toutes les options données sur la page de manuel et essayé de faire des tests de fichiers $ HOME / .telnetrc mais je n'ai pas pu y arriver, car telnetrc exécutera toutes les commandes écrites avec l'hôte donné chaque fois qu'un telnet vers cet hôte est terminé.

Quelqu'un peut-il m'aider à ce sujet, comme comment cela peut être réalisé.

Kumar Alok
la source
c'est tellement compliqué ... pourquoi vous n'utilisez pas "exit" ??? c'est ... plus facile ..
pour utiliser la sortie, je dois d'abord venir à l'invite telnet. droite. alors que mon exigence est de fermer la connexion pr, quittez-la du mode session sans venir à l'invite telnet (c'est-à-dire que pour venir à l'invite telnet, je dois d'abord envoyer un caractère d'échappement, puis je peux fermer ou quitter).
Kumar Alok
@ Paul: Je ne te comprends pas. pouvez-vous s'il vous plaît me dire où puis-je trouver la solution.
Kumar Alok
3
Pouvez-vous expliquer pourquoi on voudrait cela? Telnet est juste un programme client pour se connecter à un service arbitraire sur une machine. Si vous utilisez le port 23, vous vous connectez au service telnet et pouvez terminer votre connexion avec exit, mais il s'agit d'une commande shell, pas d'une commande telnet. Vous devez aller à l'invite telnet pour mettre fin à une connexion si le service auquel vous vous êtes connecté n'offre pas de commande pour mettre fin à la connexion. Si vous souhaitez vous connecter à une machine distante via ssh, utilisez la sshcommande non telnet(sauf si vous souhaitez effectuer un chiffrement manuel).
Benjamin Bannier

Réponses:

33

Non, le telnetclient (je suppose que vous posez des questions sur Linux) ne prend en charge qu'un seul caractère d'échappement, Ctrl]( ^]).

Si vous utilisez simplement telnetpour établir des connexions TCP arbitraires, pensez à utiliser netcatou à la socatplace; ceux-ci peuvent être interrompus en appuyant simplement sur CtrlC.

user1686
la source
9
Pour les adeptes, vous maintenez la touche Ctrl enfoncée, puis appuyez sur la touche "crochet droit", puis appuyez sur Entrée. Il répondra par une invite comme telnet>et vous pouvez taper quitet appuyer sur Entrée pour quitter votre session. Phew!
rogerdpack
@rogerdpack Merci. C'est ainsi que vous quittez sur OSX.
chhantyal
Que se passe-t-il si j'utilise un environnement local où la disposition du clavier a le crochet droit sous alt- <une autre touche>? ctrl-alt- <l'autre clé> ne fonctionne pas.
user628418
Ensuite, vous changez la disposition du clavier ou utilisez un clavier à l'écran ...
user1686
-4

Et le bon vieux CTRL+ D, alias EOF?

kdo
la source
1
cela ne fonctionnerait que s'il est géré côté serveur de la session. Ce qui n'est pas vrai en général (et également pas vrai dans la connexion ssh à 22 ports mentionnée).
Andrey Regentov