GNU/Linux >> Linux Esercitazione >  >> Linux

Come si esce da una connessione SSH?

Risposta breve:digita exit

Se ciò non funziona, tuttavia...

Carattere di escape SSH e sequenza di disconnessione

La maggior parte delle implementazioni SSH implementa un carattere di escape per le sessioni interattive, simile al Ctrl-] di telnet combinazione. Il carattere escape SSH predefinito è ~ , inserito all'inizio di una riga.

Se vuoi terminare una sessione OpenSSH interattiva che è bloccata e non può essere chiusa inserendo exit o Ctrl D in una shell sul lato remoto , puoi inserire ~ seguito da un punto . . Per essere sicuri di inserire il carattere di escape all'inizio di una riga di input, è necessario premere prima Invio. Quindi, nella maggior parte dei casi, la seguente sequenza terminerà una sessione SSH:

Invio ~ .

Altre sequenze di escape

OpenSSH, per esempio, offre altre sequenze di escape oltre a ~. . Digitando ~? durante una sessione dovrebbe darti un elenco. Alcuni esempi:

  • ~ seguito Ctrl-Z sospende la sessione,
  • ~& lo mette direttamente in background,
  • ~# fornisce un elenco di connessioni inoltrate in questa sessione.
  • Se vuoi semplicemente inserire una tilde all'inizio di una riga, devi raddoppiarla:~~ .

Il carattere di escape può essere modificato utilizzando l'opzione della riga di comando -e . Se imposti il ​​valore speciale -e none , l'escape è disabilitato e la sessione è completamente trasparente.

Vedi anche la pagina man di OpenBSD su ssh (cui si fa riferimento da www.openssh.org) sotto -e opzione della riga di comando


Come esco da una connessione SSH?

Due modi:

  • chiudendo la sessione shell di solito si esce, per esempio:
    • con il comando integrato della shell, exit , seguito da Invio o
    • Ctrl -d , (fine file)
  • nel caso in cui tu abbia una cattiva connessione e la shell non risponda, premi Invio chiave, quindi digitare ~. e ssh dovrebbe chiudersi immediatamente e tornare al prompt dei comandi.

La prima opzione dovrebbe essere intuitiva, ma come facciamo a sapere la seconda opzione?

Potremmo apprendere queste informazioni da un'attenta lettura della pagina man.

$ man ssh

ci fornisce la documentazione SSH, che contiene la seguente sezione sui caratteri di 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.

Non c'è niente di speciale in exit a ssh, è solo un modo per uscire dalla shell, che comporta la chiusura della sessione ssh:

$ type exit
exit is a shell builtin
$ help exit
exit: exit [n]
    Exit the shell.
    
    Exits the shell with a status of N.  If N is omitted, the exit status
    is that of the last command executed.

Citare e citare fonti di riferimento serve a fornire ulteriori prove per quella che altrimenti sarebbe un'affermazione di fatto forse dimostrabile, oltre a informare l'utente dove possono essere archiviate informazioni più rilevanti.

Vuoi sapere che stai facendo semanticamente la cosa corretta, oltre a sapere che funziona.

Non vuoi imparare a invocare come funzionalità qualcosa che è documentato come un bug e poi "risolto". Fare la cosa semanticamente corretta continuerà a essere supportato.


Vuoi uscire dalla shell SSH?

Puoi digitare exit e premi Invio o usa Ctrl +Re


Linux
  1. Come aumentare il timeout della connessione SSH

  2. Come controllare la velocità della tua connessione ssh

  3. Come terminare la connessione SSH che non risponde in Linux?

  4. Come configurare i caratteri su una connessione X remota (xdmcp vs. Ssh)?

  5. Come recuperare/uccidere una sessione Ssh dopo aver perso la connessione?

Come correggere l'errore rifiutato dalla connessione SSH

Come abilitare SSH su Ubuntu 18.04

Come generare una chiave SSH in Windows 10

Come abilitare SSH su Ubuntu 20.04

Come modificare la porta SSH su VPS

Come configurare una connessione MySQL remota sicura