Riavviare SSH su una macchina in cui SSH è l'unica modalità di accesso


29

Ho apportato alcune modifiche al file sshd_config e quindi è necessario riavviare. Sto cercando consigli sul riavvio sicuro di ssh quando ottenere l'accesso fisico al server sarebbe un huga PITA.

Risposte:


42

Il riavvio di sshd durante l'accesso tramite ssh non disconnetterà la connessione ssh.

Se sei preoccupato per la tua configurazione, accedi alcune volte tramite ssh e riavvia. Se non riesci più a collegarti, con nuove connessioni, ora hai accesso per risolvere i problemi.

Di seguito menzionato in un commento di @Milan Babuškov: sshd -ttesterà la tua configurazione per la correttezza della sintassi, se vuoi davvero esserne certo.

Un altro suggerimento di @Ronald Pottol è stato quello di impostare cronun'attività per riavviare il server con una configurazione funzionante nota. Forse eccessivo, ma se stai aggiornando un server mission-critical, ecc ... a volte non puoi mai stare troppo attento.


È abbastanza facile, ha anche senso. Grazie per la risposta davvero rapida. Cordiali saluti, le modifiche che stavo facendo hanno funzionato alla grande;)
Mitch,


6

Se hai accesso all'hardware puoi considerare di mettere un terminale sulla porta seriale / dev / ttyS0. Quindi puoi avere una backdoor nel tuo server.

aggiungi semplicemente

SO:2345:respawn:/sbin/mingetty ttySO

su / etc / inittab e un terminale apparirà sulla tua porta seriale. È possibile utilizzare un concentratore di porte seriali o utilizzare un modem null dal server accanto ad esso.


Freddo! È una pratica abbastanza standard?
Mitch,

3
Abbastanza standard, purché tu abbia un modo per collegarti alla macchina che è il server terminal seriale.
Kamil Kisiel,

2
Può essere, ma a causa della virtualizzazione non è così necessario perché è possibile gestirlo tramite Hypervisor. Un'altra cosa interessante è che se il BIOS lo supporta è il "reindirizzamento della console" che mostrerà tutte le schermate del BIOS tramite la console seriale. GRUB ha anche la possibilità di visualizzare su console seriale. Quindi non è necessario che il video remoto verifichi se il server tornerà online.
keithosu,

4

Non preoccuparti, la sessione corrente non verrà disconnessa, anche se si verifica un problema con la nuova configurazione.

Dopo aver applicato la nuova configurazione e riavviato sshd, prova ad accedere un paio di volte e dai un'occhiata ai log per vedere se tutto è a posto.


3

Oppure usa un cron o al lavoro per riavviarlo, se ti senti sfortunato?


crono atfunzionerebbe, per copiare un funzionamento "noto", ovvero la vecchia configurazione, indietro e quindi fare un riavvio del servizio ...
cpbills


0

Ho scoperto che oggigiorno sshdnon si disconnettono le sessioni al riavvio, soprattutto quando si tratta di una distribuzione basata su Redhat. Puoi sempre scrivere un piccolo script che ripristinerà automaticamente la sshdconfigurazione dal backup e si riavvierà sshddopo 5 minuti come lavoro crono at. Questo assicurerà che anche se ti disconnetti, puoi tornare al tuo server almeno.


-1

Non consiglierei di riavviare / ricaricare SSHD su una connessione sshd. Ho visto molte occasioni in cui sshd non si riavviava a causa di un errore di sintassi in sshd_config.

Anche se tutto va bene con il file di configurazione, è rischioso.


9
Puoi usare sshd -t per testare prima il file di configurazione.
Milano Babuškov,

Grazie Milano, ho rapidamente cercato nell'uomo un'opzione del genere, in Apache è -s quindi sono stato troppo concentrato su -s.
Mitch,

assorbirò il tuo commento nella mia risposta, anche quando sshd termina, non abbassa le sessioni ssh aperte, ma è bene sapere che la tua sintassi è valida, se la stai sudando.
cpbills,
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.