Mit können Sie sudo service ssh restartden Dienst neu starten, damit er wirksam wird. Denken Sie jedoch daran, dass Ihre Sitzung beendet wird, wenn Sie über SSH verbunden sind.
nichts ... sshd bouncing ist intelligent genug , um bestehende SSH - Verbindungen zu ermöglichen, fröhlich unvermindert weitergehen
Scott Stensland
4
Ich empfehle, nichts direkt in /etc/init.d auszuführen. Verwenden Sie den Befehl "service". Die meisten Dienste interessieren sich nicht dafür, aber es gibt einige, die dies tun, weil sie von Umgebungsvariablen beeinflusst werden. "service" sorgt dafür, dass die Umwelt bereinigt wird. Wenn Sie beispielsweise "sudo" ausführen, bleibt die Umgebungsvariable HOME in Ihrem Nicht-Root-Ausgangsverzeichnis.
Chris Cogdon
5
sudo service ssh restart
werde es nicht tun. Sie müssen sshd neu starten, nicht ssh:
Hängt von der Systemkonfiguration ab. In Lubuntu 14.04 sudo service ssh restartfunktioniert sudo service sshd restartsuper , während "sshd: unrecognized service" meldet. Nicht sicher, warum dies variiert, obwohl ...
Schulwitz
3
Es gibt eine noch weniger aufdringliche Möglichkeit, dies zu tun, ohne den SSH-Dienst neu zu starten.
Von man sshd:
sshd liest seine Konfigurationsdatei erneut, wenn es ein Aufhängesignal, SIGHUP, empfängt, indem es sich selbst mit dem Namen und den Optionen ausführt, mit denen es gestartet wurde, z. B. / usr / sbin / sshd.
Sie können also einen Befehl wie den folgenden verwenden, um SIGHUP an den SSH-Serverprozess zu senden:
sudo kill -SIGHUP $(pgrep -f "sshd -D")
Der pgrep -f "sshd -D"Teil gibt nur die PID des sshd-Dämonprozesses zurück, der auf neue Verbindungen wartet, da es wahrscheinlich für jede aktive Sitzung andere PIDs gibt, die das Signal nicht benötigen.
Dies ist die sicherste Methode zum erneuten Laden der Konfiguration ( stribika.github.io/2015/01/04/secure-secure-shell.html ): "Seien Sie äußerst vorsichtig, wenn Sie SSH auf einem Remote-Host konfigurieren. Führen Sie immer eine aktive Sitzung durch, niemals Starten Sie sshd neu. Stattdessen können Sie das SIGHUP-Signal senden, um die Konfiguration neu zu laden, ohne Ihre Sitzung zu beenden. Sie können noch vorsichtiger sein, indem Sie eine neue sshd-Instanz auf einem anderen Port starten und diese testen. "
Adriano Lucas
Gibt es einen bedeutungsvollen Unterschied zu sudo pkill -HUP sshd?
AdamKalisz
@Adam Sie möchten nur den Abhörprozess HUPEN, nicht die aktiven Clients, die auch sshdProzesse sind. sudo pkill -HUP -f "sshd -D"ist eine verlockende Alternative, aber dann signalisiert pkill seinem eigenen sudoElternteil, da seine vollständige Befehlszeile mit seinem eigenen Suchmuster übereinstimmt. Sie können sich ein Muster einfallen lassen, das nicht mit sich selbst übereinstimmt ... -f "sshd -[D], das jedoch die Dinge ein wenig verschleiert. Ich denke, dass die pgrep-Methode für die Lernenden einfacher ist, den Kopf herumzureißen.
Steven K
2
Als Root-Check
service --status-all | grep ssh
Ich hatte keinen sshdService, aber einen sshauf dem Ubuntu-Server. Dann
Ein erneutes Laden ist möglicherweise eine bessere Alternative zum Neustart
sudo service sshd reload
Unter der Haube sendet es ein HUPSignal an den sshd-Daemon-Prozess, fast auf dieselbe Weise, wie Steven K bereits geantwortet hat . Der Unterschied besteht darin, dass diese Variante die killprocFunktion anstelle des killBefehls direkt verwendet, um das Signal noch präziser zu senden (um mögliche Fehler beim Senden von Signalen an falsche Prozesse zu reduzieren). Die Konfiguration wird erneut gelesen, ohne den Dienst neu zu starten / zu stoppen.
Natürlich lohnt es sich herauszufinden, wie genau SSH-Deamon eigentlich heißt, wie andere besprochen haben.
sudo service ssh restart
den Dienst neu starten, damit er wirksam wird. Denken Sie jedoch daran, dass Ihre Sitzung beendet wird, wenn Sie über SSH verbunden sind.Antworten:
Starten Sie einfach den sshd-Dienst neu:
oder:
quelle
werde es nicht tun. Sie müssen sshd neu starten, nicht ssh:
quelle
sudo service ssh restart
funktioniertsudo service sshd restart
super , während "sshd: unrecognized service" meldet. Nicht sicher, warum dies variiert, obwohl ...Es gibt eine noch weniger aufdringliche Möglichkeit, dies zu tun, ohne den SSH-Dienst neu zu starten.
Von
man sshd
:Sie können also einen Befehl wie den folgenden verwenden, um SIGHUP an den SSH-Serverprozess zu senden:
Der
pgrep -f "sshd -D"
Teil gibt nur die PID des sshd-Dämonprozesses zurück, der auf neue Verbindungen wartet, da es wahrscheinlich für jede aktive Sitzung andere PIDs gibt, die das Signal nicht benötigen.quelle
sudo pkill -HUP sshd
?sshd
Prozesse sind.sudo pkill -HUP -f "sshd -D"
ist eine verlockende Alternative, aber dann signalisiert pkill seinem eigenensudo
Elternteil, da seine vollständige Befehlszeile mit seinem eigenen Suchmuster übereinstimmt. Sie können sich ein Muster einfallen lassen, das nicht mit sich selbst übereinstimmt... -f "sshd -[D]
, das jedoch die Dinge ein wenig verschleiert. Ich denke, dass die pgrep-Methode für die Lernenden einfacher ist, den Kopf herumzureißen.Als Root-Check
Ich hatte keinen
sshd
Service, aber einenssh
auf dem Ubuntu-Server. Dannquelle
Für Systemd-Systeme - Ubuntu-Standard
oder
oder
Für Sysvinit-Systeme
oder
quelle
Ein erneutes Laden ist möglicherweise eine bessere Alternative zum Neustart
Unter der Haube sendet es ein
HUP
Signal an den sshd-Daemon-Prozess, fast auf dieselbe Weise, wie Steven K bereits geantwortet hat . Der Unterschied besteht darin, dass diese Variante diekillproc
Funktion anstelle deskill
Befehls direkt verwendet, um das Signal noch präziser zu senden (um mögliche Fehler beim Senden von Signalen an falsche Prozesse zu reduzieren). Die Konfiguration wird erneut gelesen, ohne den Dienst neu zu starten / zu stoppen.Natürlich lohnt es sich herauszufinden, wie genau SSH-Deamon eigentlich heißt, wie andere besprochen haben.
quelle