Ssh escape sequence

From Ever changing code
Revision as of 14:45, 29 September 2016 by Pio2pio (talk | contribs) (→‎Escape Characters)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Restore access to hung SSH session

It is common problem of hung SSH session and having to close and reopen your terminal/putty. Use the following escape-char to quit your hung SSH session and get your shell back.

[ENTER] ~.

Escape Characters

When a pseudo-terminal has been requested, ssh supports a number of functions through the use of an escape character. Although these are called Escape sequence you need to press Enter to begin the Escape Sequence, this is due to escapes are only recognized immediately after newline.

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 for SSH protocol version 2 and if the peer supports it).
~C Open command line. Currently this allows the addition of port forwarding using the -L, -R and -D options. It also allows the cancellation of existing remote port-forwardings using -KR[bind_address:]port. !command allows the user to execute a local command if the PermitLocalCommand option is enabled in ssh_config. Basic help is available, using the -h option.
~R Request rekeying of the connection (only useful for SSH protocol version 2 and if the peer supports it).

Bash delete character correction

Delete key gives ~ ? Add the following line to your $HOME/.inputrc (might not work if added to /etc/inputrc )

"\e[3~": delete-char