SSH lauscht nach dem Update auf 10.12.4 nicht mehr auf benutzerdefinierten Ports

Ich hatte einen benutzerdefinierten Port, indem ich die Zeile "Port" in /etc/sshd_config. Nach dem Update auf Mac OS X 10.12.4 stellte ich fest, dass ich keine Verbindung mehr über den benutzerdefinierten Port herstellen konnte – stattdessen lauschte er auf Port 22. Ich stellte fest, dass meine sshd_config anscheinend in sshd_config~ previous umbenannt worden war, also habe ich sie zurück auf die verschoben korrekten Ort und startete sshd von der Befehlszeile aus mit sudo launchctl stop com.openssh.sshd; sudo launchctl start com.openssh.sshd. Nach dem Neustart lauschte sshd jedoch immer noch auf Port 22. Ich habe dann die Systemeinstellungen geöffnet und unter Teilen auf "Remote Login" geklickt. Das Ausführen von `netstat -a -n" zeigte, dass Port 22 nicht mehr abgehört wurde. Ich klicke dann auf "Remote Login", um sshd neu zu starten, und stellte dann fest, dass sshd immer noch auf Port 22 lauschte, nicht auf meinem benutzerdefinierten Port.

In /var/log/apache2 sehe ich access_logbeim Start ein leeres und error_logenthält die normale Startmeldung. Da gibt es keine Hinweise.

Wie bringe ich sshd dazu, meinen benutzerdefinierten Port erneut zu überwachen?

Antworten (1)

Ich habe die Antwort hier gefunden und sie scheint auch für das Upgrade auf Sierra von einer Pre-El Capitan-Version von OS X zu gelten.

Zusammenfassen:

sudo cp /System/Library/LaunchDaemons/ssh.plist /Library/LaunchDaemons/ssh2.plist

Bearbeiten Sie /Library/LaunchDaemons/ssh2.plist und ändern Sie die folgenden Zeilen:

<key>Label</key>
<string>com.openssh.sshd</string>

Zu:

<key>Label</key>
<string>com.openssh.sshd2</string>

Und ändern Sie die Zeilen, die lauten:

<key>SockServiceName</key>
<string>ssh</string>

indem Sie "ssh" durch den gewünschten Port ersetzen.

Starten Sie dann den neuen Port mit:

sudo launchctl load -w /Library/LaunchDaemons/ssh2.plist

Wie im Artikel erwähnt, verhindert dies nicht, dass ssh auf Port 22 ausgeführt wird. In meinem Fall war das in Ordnung - der Hauptgrund für die Ausführung auf dem neuen Port war, dass er mit dem Port übereinstimmt, an dem ssh außerhalb der Firewall sichtbar war.

Um sshdauf Port 22 nicht mehr zu antworten, geben Sie Folgendes ein: /usr/bin/sudo launchctl unload /Library/LaunchDaemons/ssh.plist.