Antworten:
Wenn Sie sshd neu starten, während Sie über ssh angemeldet sind, wird Ihre ssh-Verbindung nicht getrennt.
Wenn Sie sich Sorgen um Ihre Konfiguration machen, melden Sie sich einige Male über ssh an und starten Sie neu. Wenn Sie sich mit neuen Verbindungen nicht mehr einloggen können, haben Sie jetzt Zugriff, um die Probleme zu beheben.
Erwähnt in einem Kommentar von @Milan Babuškov: Testet sshd -t
Ihre Konfiguration auf Syntaxkorrektheit , wenn Sie wirklich sicher sein möchten.
Ein weiterer Vorschlag von @Ronald Pottol war, eine cron
Task zum Neustarten des Servers mit einer bekannten funktionierenden Konfiguration einzurichten . Vielleicht übertrieben, aber wenn Sie einen unternehmenskritischen Server aktualisieren, können Sie manchmal nie zu vorsichtig sein.
sshd -t
Tat direkt aus der maßgeblichen Quelle: Testmodus. Überprüfen Sie nur die Gültigkeit der Konfigurationsdatei und die Richtigkeit der Schlüssel. Dies ist nützlich, um sshd zuverlässig zu aktualisieren, da sich die Konfigurationsoptionen ändern können.
Wenn Sie Zugriff auf die Hardware haben, können Sie ein Terminal an der seriellen Schnittstelle / dev / ttyS0 anschließen. Dann können Sie eine Hintertür in Ihren Server haben.
einfach hinzufügen
SO:2345:respawn:/sbin/mingetty ttySO
zu Ihrer / etc / inittab und ein Terminal wird über Ihre serielle Schnittstelle gespawnt. Sie können einen Serial Port Concentrator oder ein Nullmodem vom Server daneben verwenden.
Keine Sorge, Ihre aktuelle Sitzung wird nicht getrennt, auch wenn ein Problem mit der neuen Konfiguration vorliegt.
Versuchen Sie nach dem Anwenden der neuen Konfiguration und dem Neustarten von sshd ein paarmal, sich anzumelden, und sehen Sie in den Protokollen nach, ob alles in Ordnung ist.
Oder verwenden Sie einen Cron oder bei der Arbeit, um ihn wieder zu starten, wenn Sie sich unglücklich fühlen?
cron
oder at
würde funktionieren, um eine 'bekannte' Funktion, dh die alte Konfiguration, zurück zu kopieren und dann einen Neustart des Dienstes
Könnten Sie nicht einfach ein kill -HUP in der PID des SSH-Dienstes ausführen? Es ist nicht sauber, aber es funktioniert
SIGHUP
ist die saubere Art, die Konfiguration eines Daemons neu zu laden.
pkill -HUP sshd
schloss meine Verbindung. Dies funktionierte:kill -HUP $(pgrep -f /usr/bin/sshd)
Ich habe festgestellt, dass heutzutage sshd
Ihre Sitzungen beim Neustart nicht getrennt werden, insbesondere wenn es sich um eine Redhat-basierte Distribution handelt. Sie können jederzeit ein kleines Skript schreiben, das Ihre sshd
Konfiguration automatisch aus dem Backup wiederherstellt und sshd
nach 5 Minuten als cron
oder at
Job neu startet . Dadurch wird sichergestellt, dass Sie auch dann, wenn die Verbindung getrennt wird, wieder auf Ihren Server zugreifen können.
Ich würde nicht empfehlen, SSHD auf einer SSHD-Verbindung neu zu starten / neu zu laden. Ich habe viele Fälle erlebt, in denen sshd wegen eines Syntaxfehlers in sshd_config einfach nicht wieder gestartet werden konnte.
Obwohl alles in Ordnung mit der Konfigurationsdatei ist, ist es riskant.