Fechando a conexão telnet normalmente do próprio modo de sessão sem ir ao prompt do telnet


16

uma conexão telnet normal é assim:

telnet localhost 22
Tentando 127.0.0.1 ...
Conectado ao localhost.
O caractere de escape é '^]'.
SSH-2.0-OpenSSH_4.2
^]
telnet> fechar
Conexão fechada.

Quero fechá-lo da própria sessão telnet sem chegar ao prompt do telnet pressionando. Meu requisito é que, se eu pressionar algum caractere de controle da própria sessão telnet, como CTRL + A, para sair da sessão e fechá-lo automaticamente. algo assim:

$ telnet localhost 22
Tentando 127.0.0.1 ...
Conectado ao localhost.
O caractere de escape é '^]'.
SSH-2.0-OpenSSH_4.2
^ A
Conexão fechada.
$

Tentei todas as opções fornecidas na página de manual e tentei fazer alguns testes de arquivo $ HOME / .telnetrc, mas não consegui-lo, pois o telnetrc executará todos os comandos escritos nele com o host especificado sempre que um telnet para esse host for feito.

Alguém pode me ajudar nisso, como como isso pode ser alcançado.


é tão complicated..why você não usar "exit" ??? sua ... mais fácil ..

para usar exit também preciso chegar ao telnet primeiro. certo. enquanto o meu requisito é fechar a conexão antes de sair do modo de sessão sem chegar ao prompt do telnet (por exemplo, para chegar ao prompt do telnet, primeiro preciso enviar um caractere de escape e depois fechar ou sair).
precisa

@ Paul: Eu não entendo você. você pode me dizer onde posso encontrar a solução?
precisa

3
Você pode explicar por que alguém iria querer isso? O Telnet é apenas um programa cliente para conectar-se a algum serviço arbitrário em alguma máquina. Se você usa a porta 23, conecta-se ao serviço telnet e pode encerrar seu login com exit, mas este é um comando shell, não um comando telnet. Você precisa ir ao prompt do telnet para encerrar uma conexão se o serviço ao qual você se conectou não oferece um comando para encerrar a conexão. Se você deseja fazer login em uma máquina remota via ssh, use o sshcomando não telnet(a menos que queira fazer criptografia manual).
Benjamin Bannier

Respostas:


33

Não, o telnetcliente (acho que você está perguntando sobre o Linux) suporta apenas um caractere de escape Ctrl]( ^]).

Se você está apenas usando telnetpara fazer conexões TCP arbitrárias, considere usar netcatou socat; estes podem ser interrompidos simplesmente pressionando CtrlC.


9
Para os seguidores, mantenha pressionada a tecla ctrl, pressione a tecla "colchete direito" e pressione enter. Ele responderá com um prompt como telnet>e você pode digitar quite pressionar Enter para sair da sua sessão. Ufa!
Rogerdpack

@rogerdpack Obrigado. Essa é a maneira de sair no OSX.
chhantyal

E se eu estiver usando uma localidade em que o layout do teclado tenha o suporte correto em alt- <alguma outra tecla>? ctrl-alt- <a outra tecla> não está funcionando.
user628418

Em seguida, você muda o layout do teclado ou usa um teclado na tela ...
#

-4

E o bom e velho CTRL+ D, também conhecido como EOF?


1
funcionaria apenas se for tratado no lado da sessão do servidor. O que não é verdade em geral (e também não é verdade na conexão ssh de 22 portas mencionada).
Andrey Regentov
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.