2012-08-28 14:29:59 +0000 2012-08-28 14:29:59 +0000
273
273

¿Cómo salgo de una conexión SSH?

Me estoy conectando a un servidor vía SSH para enviar un mensaje a un servidor socket usando un comando como:

ssh 181.169.1.2 -p 5566

Después de que la conexión se establece y escribo el mensaje y lo envío no puedo salir del modo de texto. Sólo se me permite introducir más texto y eso es todo.

¿Hay algún comando o combinación de teclas que me permita volver al modo de comando?

Respuestas (7)

294
294
294
2013-07-17 09:26:09 +0000

Respuesta corta: Tipo exit

Si eso no funciona, sin embargo…

Carácter de Escape y Secuencia de Desconexión de SSH

La mayoría de las implementaciones de SSH implementan un carácter de escape para sesiones interactivas, similar a la combinación Ctrl-] de Telnet. El carácter de escape SSH por defecto es ~, introducido al principio de una línea.

Si desea terminar una sesión interactiva de OpenSSH que está atascada y no se puede salir introduciendo exit o CtrlD en un shell en el lado remoto , puede introducir ~ seguido de un punto .. Para asegurarse de introducir el carácter de escape al principio de una línea de entrada, debe presionar primero Enter. Así que la siguiente secuencia en la mayoría de los casos terminará una sesión de SSH:

Enter~.

Otras secuencias de escape

OpenSSH, por ejemplo, ofrece otras secuencias de escape además de ~.. Introducir ~? durante una sesión debería darnos una lista. Algunos ejemplos:

  • ~ seguido de Ctrl-Z suspende la sesión,
  • ~& la pone directamente en segundo plano,
  • ~# da una lista de conexiones reenviadas en esta sesión.
  • Si quiere simplemente introducir una tilde al principio de una línea, tiene que doblarla: ~~.

El carácter de escape puede cambiarse usando la opción de línea de comandos -e. Si se establece el valor especial -e none, el escape se deshabilita y la sesión es completamente transparente.

Vea también la página del manual de OpenBSD en ssh (a la que se hace referencia desde www.openssh.org ) bajo la opción de línea de comandos -e

195
195
195
2017-09-16 21:57:26 +0000

¿Cómo salgo de una conexión SSH?

Dos maneras:

  • cerrando la sesión del shell, por ejemplo con exit seguido de Enter, o Ctrl-d usualmente le permite salir de la sesión ssh normalmente,
  • en el caso de que tenga una mala conexión y el shell no responda, presione la tecla Enter, luego escriba ~. y ssh debería cerrarse inmediatamente y volver a su línea de comandos.

La primera opción debería ser intuitiva, pero ¿cómo conocemos la última opción?

Podríamos aprender esta información de una lectura cuidadosa de la página man.

$ man ssh

nos da la documentación de SSH , que tiene la siguiente sección 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.
32
32
32
2012-08-28 18:37:35 +0000

¿Quieres salir de la cápsula SSH?

Puedes escribir exit y pulsar Enter, o usar Ctrl+D

11
11
11
2014-04-14 15:00:24 +0000

Sólo teclea exit o logout (y luego presiona Enter por supuesto) ambos funcionarán.

8
8
8
2016-06-14 22:26:47 +0000

Estos son los caracteres soportados que proporcionan varias opciones con las que puedes jugar con ssh.

Secuencias de escape soportadas:

~. - terminate session

 ~B - send a BREAK to the remote system

 ~R - Request rekey (SSH protocol 2 only)

 ~# - list forwarded connections

 ~? - this message

 ~~ - send the escape character by typing it twice

(Ten en cuenta que los escapes sólo se reconocen inmediatamente después de una nueva línea.) Puedes cerrar la lista de secuencias de escape pulsando Intro.

3
3
3
2013-07-17 07:12:49 +0000

Puedes escribir logout en la línea de la consola (y pulsar Enter por supuesto).

1
1
1
2018-03-29 17:25:28 +0000

MacOS : cuando ssh se cuelga usa la siguiente secuencia:

ENTER 
SHIFT+`
.

donde: Shift+` produce ~ (carácter de tilde)