Mac mini mit OS X Server 10.11.6, CommuniGate Pro und fast keinen anderen standardmäßigen OS X Server-Diensten.
Der Besitzer des Servers befand sich kürzlich in einem Netzwerk, das Ports sowohl für VPN-Verbindungen als auch für SSH blockierte, also versuchen wir, den Server so einzurichten, dass er einen SSH-Tunnel über den SOCKS-Proxy zu Port 443 zulässt, der fast immer offen bleibt. (Wir haben keine Pläne, Webdienste über diesen Port auf dieser Box auszuführen.)
Untersuchungen zeigen, dass dies ein zweistufiger Prozess sein sollte: 1) /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf bearbeiten, um Web-Listener auf den Ports 80 und 443 zu entfernen; 2) Bearbeiten Sie /etc/ssh/ssh_config, um einen SSH-Listener auf Port 443 hinzuzufügen; dann neustarten.
Dabei werden die HTTP-Dienste tatsächlich auf 80 und 443 deaktiviert, aber ich kann keine Verbindung zu SSH auf Port 443 herstellen. Funktioniert immer noch gut über 22. Nmapping des Servers zeigt an, dass auf Port 443 nichts offen ist. Muss ich noch etwas tun, um dies zu öffnen?
Hier sind die Schritte, um SSH zum Abhören von Port 443 zu bringen. Beachten Sie, dass Sie, wenn Sie SIP deaktiviert haben, /System/Library/LaunchDaemons/ssh.plist direkt bearbeiten können (als Root) und daher die Schritte 1 und 3 überspringen und die obigen verwenden können Pfad in den Schritten 2 und 5. Beachten Sie, dass Sie in diesem Fall den Befehl ausführen sollten, unload
bevor Sie ssh.plist bearbeiten.
Kopieren Sie die vorhandene ssh.plist-Datei in /Library:
sudo cp /System/Library/LaunchDaemons/ssh.plist /Library/LaunchDaemons/ssh2.plist
Bearbeiten Sie die Datei als root:
sudo nano /Library/LaunchDaemons/ssh2.plist
Es gibt zwei Dinge, die geändert werden müssen. Zuerst ist die <Label>
. Ändere das:
<key>Label</key>
<string>com.openssh.sshd</string>
Zu so etwas:
<key>Label</key>
<string>com.openssh.sshd443</string>
Als nächstes ändern Sie dies:
<key>SockServiceName</key>
<string>ssh</string>
Dazu:
<key>SockServiceName</key>
<string>443</string>
Speichern Sie diesen Befehl und führen Sie ihn dann aus, um den Dienst zu laden:
sudo launchctl load -w /Library/LaunchDaemons/ssh2.plist
Wenn Sie es jemals entladen müssen, können Sie dies tun mit:
sudo launchctl unload /Library/LaunchDaemons/ssh2.plist
Jeff Porten
tubedogg
Jeff Porten
JayB
JayB
tubedogg
JayB