Chiudere con grazia la connessione telnet dalla modalità sessione stessa senza andare al prompt telnet


16

una normale connessione telnet è così:

telnet localhost 22
Prova 127.0.0.1 ...
Connesso a localhost.
Il carattere di escape è '^]'.
SSH-2.0-OpenSSH_4.2
^]
telnet> chiudi
Connessione chiusa

Voglio chiuderlo dalla stessa sessione telnet senza venire al prompt telnet premendo. Il mio requisito è che se premo un personaggio di controllo dalla stessa sessione Telnet come CTRL + A, uscirà dalla sessione e lo chiuderà automaticamente. qualcosa come questo:

$ telnet localhost 22
Prova 127.0.0.1 ...
Connesso a localhost.
Il carattere di escape è '^]'.
SSH-2.0-OpenSSH_4.2
^ A
Connessione chiusa
$

Ho provato tutte le opzioni fornite nella pagina man e ho provato a fare alcuni test sui file $ HOME / .telnetrc ma non sono riuscito a raggiungerlo, poiché telnetrc eseguirà tutti i comandi scritti in esso con l'host dato ogni volta che un telnet per quell'host è fatto.

Qualcuno può aiutarmi in questo, come il modo in cui può essere raggiunto.


è così complicato..perché non usi "esci" ??? è ... più facile ..

per usare exit devo anche prima venire al prompt telnet. giusto. mentre il mio requisito è chiudere la connessione pr uscire dalla modalità sessione senza venire al prompt telnet (cioè per venire al prompt telnet devo prima inviare il carattere di escape e poi posso chiudere o uscire).
Kumar Alok,

@ Paul: non ti capisco. puoi per favore dirmi dove posso trovare la soluzione.
Kumar Alok,

3
Puoi spiegare perché uno vorrebbe questo? Telnet è solo un programma client per connettersi ad alcuni servizi arbitrari su alcune macchine. Se usi la porta 23 ti connetti al servizio telnet e puoi terminare il tuo login con exit, ma questo è un comando shell, non un comando telnet. Devi andare al prompt di telnet per terminare una connessione se il servizio a cui ti sei connesso non offre un comando per terminare la connessione. Se si desidera accedere a una macchina remota tramite ssh, utilizzare il sshcomando, non telnet(a meno che non si desideri eseguire la crittografia manuale).
Benjamin Bannier,

Risposte:


33

No, il telnetclient (suppongo che tu stia chiedendo di quello Linux) supporta solo un carattere di escape, Ctrl]( ^]).

Se si sta semplicemente utilizzando telnetper effettuare connessioni TCP arbitrarie, prendere in considerazione l'utilizzo netcato socatinvece; questi possono essere interrotti semplicemente premendo CtrlC.


9
Per i follower, tieni premuto ctrl, quindi premi il tasto "parentesi destra", quindi premi invio. Risponderà con un prompt simile telnet>e puoi digitare quite premere invio per uscire dalla sessione. Accidenti!
rogerdpack,

@rogerdpack Grazie. Questo è il modo di uscire su OSX.
chhantyal,

E se sto usando un locale in cui il layout della tastiera ha la parentesi destra sotto alt- <qualche altro tasto>? ctrl-alt- <l'altro tasto> non funziona.
user628418

Quindi si cambia il layout della tastiera o si utilizza una tastiera su schermo ...
user1686

-4

Che dire del buon vecchio CTRL+ D, alias EOF?


1
funzionerebbe solo se gestito sul lato server della sessione. Che non è vero in generale (e anche non è vero nella menzionata connessione ssh a 22 porte).
Andrey Regentov,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.