Haben Sie versucht, ein Auflegesignal zu senden : kill -HUP <PID of sshd>? Nach man sshd: sshd rereads its configuration file when it receives a hangup signal, SIGHUP. (Sie können die PID von sshdmit finden ps -ef|grep sshd. Wenn es mehr als einen sshdProzess gibt, senden Sie HUPan alle von ihnen.)
jaume
(siehe meine letzte
Änderung
6
Ja, Sie haben Recht, wenn Sie einen sshdProzess mit offener Verbindung HUP sshdbeenden. Das Senden eines HUP-Signals an das Hauptnetzwerk sshd, dh das übergeordnete Signal, das sshdfür jede eingehende Verbindung einen neuen Dämon erstellt, hat jedoch den gewünschten Effekt. Unter O X gibt es aber kein Haupt sshd: sshdwird gestartet , indem launchddurch launchproxymit der Option -i, die sagt , sshddass es lief aus inetdund beginnt , auf Anfrage, wenn launchdeine Anforderung empfängt. Mit diesem Setup wird jede SSH-Verbindung neu gestartet und sshdmit der neuesten Version ihrer Konfigurationsdatei konfiguriert.
Jaume
Antworten:
5
sshd "liest" seine Konfigurationsdatei nicht erneut, sondern startet sich selbst neu (siehe man sshd (8)). Es sollte jedoch das Kind / die Verbindungen nicht beenden, wenn Sie das SIGHUP an die ELTERN von allen gesendet haben. Das ist, wenn Sie über sshd sprechen, das an Port 22 bindet, wie im "üblichen" mit Linux / FreeBSD / etc. [Es gibt Ausnahmen und Systemadministratorgründe, warum Sie der Route vom Typ MacOSX folgen sollten]
MacOSX wurde jedoch als derjenige gestartet, der Port 22 (von meinem 10.10.4-Computer) abhört und verarbeitet:
Es ist startd, das unter Macosx möglicherweise "neu gestartet" werden muss oder über verschiedene Ports informiert werden muss, um auf sshd zu warten, da launchd für jede eingehende Port 22-Verbindung ein neues sshd erzeugt.
Ich habe mich an meinen Router und zurück gewandt, um das Problem zu demonstrieren, und Sie werden feststellen, dass die beiden Prozesse bereits "im Besitz" von mir sind. Vergleichen Sie dies mit einem Linux-System (meinem Roouter), auf dem Sie die dritte "echte" SSHD bemerken, die root gehört:
Die folgende Zeile überprüft zuerst die Konfiguration und ermittelt die PID des Hauptprozesses, wobei alle anderen (unter Linux, zsh getestet) beibehalten werden:
if /usr/sbin/sshd -t; then kill -HUP `ps aux | grep "/usr/sbin/sshd" | grep -v grep | awk '{ print $2 }'`; fi
kill -HUP <PID of sshd>
? Nachman sshd
:sshd rereads its configuration file when it receives a hangup signal, SIGHUP
. (Sie können die PID vonsshd
mit findenps -ef|grep sshd
. Wenn es mehr als einensshd
Prozess gibt, senden SieHUP
an alle von ihnen.)sshd
Prozess mit offener Verbindung HUPsshd
beenden. Das Senden eines HUP-Signals an das Hauptnetzwerksshd
, dh das übergeordnete Signal, dassshd
für jede eingehende Verbindung einen neuen Dämon erstellt, hat jedoch den gewünschten Effekt. Unter O X gibt es aber kein Hauptsshd
:sshd
wird gestartet , indemlaunchd
durchlaunchproxy
mit der Option-i
, die sagt ,sshd
dass es lief ausinetd
und beginnt , auf Anfrage, wennlaunchd
eine Anforderung empfängt. Mit diesem Setup wird jede SSH-Verbindung neu gestartet undsshd
mit der neuesten Version ihrer Konfigurationsdatei konfiguriert.Antworten:
sshd "liest" seine Konfigurationsdatei nicht erneut, sondern startet sich selbst neu (siehe man sshd (8)). Es sollte jedoch das Kind / die Verbindungen nicht beenden, wenn Sie das SIGHUP an die ELTERN von allen gesendet haben. Das ist, wenn Sie über sshd sprechen, das an Port 22 bindet, wie im "üblichen" mit Linux / FreeBSD / etc. [Es gibt Ausnahmen und Systemadministratorgründe, warum Sie der Route vom Typ MacOSX folgen sollten]
MacOSX wurde jedoch als derjenige gestartet, der Port 22 (von meinem 10.10.4-Computer) abhört und verarbeitet:
Es ist startd, das unter Macosx möglicherweise "neu gestartet" werden muss oder über verschiedene Ports informiert werden muss, um auf sshd zu warten, da launchd für jede eingehende Port 22-Verbindung ein neues sshd erzeugt.
Überprüfe das Folgende:
Ich habe mich an meinen Router und zurück gewandt, um das Problem zu demonstrieren, und Sie werden feststellen, dass die beiden Prozesse bereits "im Besitz" von mir sind. Vergleichen Sie dies mit einem Linux-System (meinem Roouter), auf dem Sie die dritte "echte" SSHD bemerken, die root gehört:
quelle
Die folgende Zeile überprüft zuerst die Konfiguration und ermittelt die PID des Hauptprozesses, wobei alle anderen (unter Linux, zsh getestet) beibehalten werden:
quelle
sshd
Prozess.Einfach:
quelle
sshd
Prozess.