Come posso staccarmi da una sessione SSH che si è arrestata in modo anomalo?


62

Molte volte ho una sessione SSH che non risponde più (ad esempio, quando perdo la connessione Internet e riconnetto). Ctrl+ C, Ctrl+ D, Ctrl+ Ze un milione di pressioni di tasti non hanno alcun effetto.

Il più delle volte ho già tmuxo byobugià in esecuzione, quindi posso semplicemente avviare un altro terminale e riconnettermi. Tuttavia, sembra ingombrante. Come posso disconnettere SSH dal terminale corrente?

Risposte:


87

Utilizzare il "carattere di escape" (normalmente, la tilde ~) per controllare una sessione SSH:

  • ~seguito da .chiude la connessione SSH;
  • ~seguito da Ctrl+ Zsospende il processo SSH;
  • ~seguito da un altro ~invia un letterale ~.

È possibile impostare il carattere di escape utilizzando l' -eopzione su ssh .

Inoltre, ricordalo

Dovresti anche ricordare di premere Enterprima ~. Il personaggio di escape funziona quando è il primo personaggio della linea. E anche tu puoi usare ~e più tardi ?per ottenere aiuto dal client ssh. (Grazie al commento di Lukasz Stelmach .)


11
Dovresti anche ricordare di premere Enterprima ~. Il personaggio di escape funziona quando è il primo personaggio della linea. E anche tu puoi usare ~e più tardi ?per ottenere aiuto dal client ssh.
Lukasz Stelmach,

7
~seguito da ?fornisce un elenco completo delle sequenze di escape supportate
Matijs

1

Openssh può essere configurato per inviare messaggi attivi client o server all'altro lato. Se non si ottiene alcuna risposta, la connessione verrà terminata. Dal lato server, vedere le opzioni ClientAliveIntervale ClientAliveCountMaxconfig. Dal lato client, vedere le opzioni ServerAliveIntervale ServerAliveCountMax. TCPKeepAliveè anche un'opzione, ma è spoofable mentre le opzioni precedenti non lo sono, quindi probabilmente sono migliori.

Se li imposti su valori ragionevoli, probabilmente non avrai mai più una connessione bloccata. L'unico aspetto negativo è che le tue connessioni ssh potrebbero rimanere aperte se preferisci che vengano interrotte, per motivi di sicurezza.

Vedi la pagina man di configurazione di OpenSSH sshd e la pagina man di configurazione di OpenSSH ssh per ulteriori informazioni.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.