Como faço para sair de uma conexão SSH?
Dois caminhos:
- fechar a sessão do shell, por exemplo, com
exit
seguido por Enter, ou Ctrl- dgeralmente permite que você saia da ssh
sessão normalmente,
- no caso de você ter uma conexão ruim e o shell não responder, pressione a Entertecla Enter, digite
~.
ssh e feche imediatamente e retorne ao prompt de comando.
A primeira opção deve ser intuitiva, mas como sabemos a última opção?
Poderíamos aprender essas informações com uma leitura cuidadosa da página de manual.
$ man ssh
nos fornece a documentação SSH , que possui a seguinte seção sobre caracteres de escape:
ESCAPE CHARACTERS
When a pseudo-terminal has been requested, ssh supports a number of
functions through the use of an escape character.
A single tilde character can be sent as ~~ or by following the tilde by
a character other than those described below. The escape character
must always follow a newline to be interpreted as special. The escape
character can be changed in configuration files using the EscapeChar
configuration directive or on the command line by the -e option.
The supported escapes (assuming the default ‘~’) are:
~. Disconnect.
~^Z Background ssh.
~# List forwarded connections.
~& Background ssh at logout when waiting for forwarded connection
/ X11 sessions to terminate.
~? Display a list of escape characters.
~B Send a BREAK to the remote system (only useful if the peer sup‐
ports it).
~C Open command line. Currently this allows the addition of port
forwardings using the -L, -R and -D options (see above). It
also allows the cancellation of existing port-forwardings with
-KL[bind_address:]port for local, -KR[bind_address:]port for
remote and -KD[bind_address:]port for dynamic port-forwardings.
!command allows the user to execute a local command if the
PermitLocalCommand option is enabled in ssh_config(5). Basic
help is available, using the -h option.
~R Request rekeying of the connection (only useful if the peer
supports it).
~V Decrease the verbosity (LogLevel) when errors are being written
to stderr.
~v Increase the verbosity (LogLevel) when errors are being written
to stderr.
Resposta curta: Tipo
exit
Se isso não funcionar, no entanto ...
Caractere de escape SSH e sequência de desconexão
A maioria das implementações SSH implementa um caractere de escape para sessões interativas, semelhante à
Ctrl-]
combinação do telnet . O caractere de escape SSH padrão é~
inserido no início de uma linha.Se você deseja encerrar uma sessão interativa do OpenSSH que está paralisada e não pode ser encerrada entrando
exit
ou CtrlDem um shell no lado remoto , é possível inserir~
seguido de um ponto.
. Para ter certeza de inserir o caractere de escape no início de uma linha de entrada, pressione Enter primeiro. Portanto, a seguinte sequência terminará na maioria dos casos uma sessão SSH:Enter~.
Outras seqüências de escape
O OpenSSH, por exemplo, oferece outras seqüências de escape além
~.
. A entrada~?
durante uma sessão deve fornecer uma lista. Alguns exemplos:~
seguidoCtrl-Z
suspende a sessão,~&
coloca diretamente em segundo plano,~#
fornece uma lista de conexões encaminhadas nesta sessão.~~
.O caractere de escape pode ser alterado usando a opção de linha de comando
-e
. Se você definir o valor especial-e none
, o escape será desativado e a sessão será totalmente transparente.Veja também a página de manual do OpenBSD no ssh (que é referenciada em www.openssh.org ) sob a
-e
opção de linha de comandofonte
exit
ouCtrl-D
, mas apenas um processo de escuta. Afirmei claramente que minha solução é adequada para uma sessão que está travada e não pode ser encerrada . Eu tentei esclarecer isso mais, espero que seja mais fácil ver agora.~.
sem espaços era exatamente o que eu precisava, obrigado! :)Deseja sair do shell SSH?
Você pode digitar
exit
e clicar Enterou usar Ctrl+Dfonte
Basta digitar
exit
oulogout
(em seguida, pressionar Enter, é claro), ambos funcionarão.fonte
Estes são os personagens suportados que oferecem várias opções com as quais você pode brincar com o ssh.
Sequências de escape suportadas:
(Observe que escapes são reconhecidos apenas imediatamente após uma nova linha.) Você pode fechar a lista de seqüências de escape pressionando Enter.
fonte
Você pode escrever
logout
na linha do console (e clicar, é Enterclaro).fonte
MacOS : quando o ssh travar, use a seguinte sequência:
onde: shift + ` produz ~ (caractere til)
fonte