normalne połączenie telnet wygląda następująco:
telnet localhost 22 Próbuję 127.0.0.1 ... Połączono z hostem lokalnym. Znakiem ucieczki jest „^]”. SSH-2.0-OpenSSH_4.2 ^] telnet> zamknij Połączenie zamknięte.
Chcę go zamknąć z samej sesji telnet bez przechodzenia do monitu przez naciśnięcie klawisza. Moje wymaganie jest takie, że jeśli nacisnę jakiś znak kontrolny z samej sesji telnet, taki jak CTRL + A, to wyjdzie z sesji i automatycznie ją zamknie. coś takiego:
$ telnet localhost 22 Próbuję 127.0.0.1 ... Połączono z hostem lokalnym. Znakiem ucieczki jest „^]”. SSH-2.0-OpenSSH_4.2 ^ A Połączenie zamknięte. $
Próbowałem wszystkich opcji podanych na stronie man i próbowałem przeprowadzić testy pliku $ HOME / .telnetrc, ale nie mogłem tego osiągnąć, ponieważ telnetrc wykona wszystkie polecenia zapisane w nim na danym hoście, ilekroć telnet na tym hoście jest gotowy.
Czy ktoś może mi w tym pomóc, na przykład w jaki sposób można to osiągnąć.
exit
, ale jest to polecenie powłoki, a nie polecenie telnet. Musisz przejść do monitu telnet, aby zakończyć połączenie, jeśli usługa, z którą się połączyłeś, nie oferuje polecenia zakończenia połączenia. Jeśli chcesz zalogować się do zdalnego komputera za pośrednictwem ssh, użyjssh
polecenia, a nietelnet
(chyba że chcesz wykonać ręczne szyfrowanie).Odpowiedzi:
Nie,
telnet
klient (zgaduję, że pytasz o Linuksa) obsługuje tylko jeden znak zmiany znaczenia, Ctrl](^]
).Jeśli po prostu używasz
telnet
do nawiązywania dowolnych połączeń TCP, rozważ użycienetcat
lubsocat
zamiast tego; można je przerwać po prostu naciskając CtrlC.źródło
telnet>
że możesz wpisaćquit
i nacisnąć Enter, aby zakończyć sesję. Uff!A co ze starym dobrym CTRL+ D, czyli EOF?
źródło