Anche se il tuo problema potrebbe essere già stato risolto da altre risposte, mi sono bloccato fuori da un numero sufficiente di macchine dal non convalidare le modifiche sshd_config prima della disconnessione, quindi ho escogitato il seguente processo che potrebbe essere utile per il debug futuro delle modifiche alla configurazione di sshd:
NON SCOLLEGARE una connessione ssh attiva fino a quando DOPO il test non ha verificato che il comportamento è come previsto.
un. verifica cosa pensi che sshd dovrebbe fare
b. verificare che la configurazione sia valida utilizzando "-t"
c. avviare una versione 'test' dettagliata del server su cui è possibile vivere il monitoraggio
d. avviare una connessione client 'test' dettagliata che è possibile monitorare dal vivo
un. verifica cosa pensi che sshd dovrebbe fare
Esamina il file di configurazione sshd senza tutti i commenti con qualcosa come il seguente (supponendo che sshd_config sia il file corretto e in / etc / ssh)
$ grep -v "^ #" / etc / ssh / sshd_config | grep -v "^ $"
Questo chiarisce le cose in modo da verificare ciò che pensiamo di cambiare (non necessariamente se è corretto o meno).
b. verificare che la configurazione sia valida utilizzando "-t"
Dalla pagina man della sshd che sto usando,
-t Modalità test. Controlla solo la validità del file di configurazione e l'integrità delle chiavi. Questo è utile per aggiornare sshd in modo affidabile poiché le opzioni di configurazione possono cambiare.
Altri cambiamenti possono avere circostanze più sottili. Ad esempio, non disabilitare l'autenticazione con password finché non si è certi che l'autenticazione con chiave pubblica funzioni correttamente.
c. avviare una versione 'test' dettagliata del server su cui è possibile vivere il monitoraggio
$ sudo / usr / sbin / sshd -ddd -p 9999
Ciò mantiene attiva la sessione di lavoro esistente, ma offre un'altra istanza di sshd per verificare le nuove modifiche alla configurazione. SSHD è ora in esecuzione in primo piano su una porta definita dall'utente (nel nostro esempio 9999) e spingendo molte informazioni di debug rumorose è possibile tracciare in / var / log / authlog (o eventualmente /var/log/auth.log a seconda sul tuo sistema operativo.)
d. avviare una connessione client 'test' dettagliata che è possibile monitorare dal vivo
Esegui la connessione client ssh in modalità dettagliata per visualizzare sullo schermo più informazioni che potrebbero portare a un migliore debug del tuo errore.
$ ssh -vvv -p 9999 nome-server
Ora è necessario disporre di informazioni sufficienti nei file di registro del server o nella schermata di connessione del client per isolare il problema.
La soluzione generalmente si riduce alle autorizzazioni dei file (come mostrato da Magnar e setatakahashi)
Buona fortuna
/etc/ssh/ssh_confige/etc/ssh/sshd_configper verificare che nulla che desideri sia disabilitato.