Wie führt man einen SSH-Daemon auf einem anderen Port als dem Standardport 22 aus?
Ich habe etwas mit meiner SSH-Konfiguration auf einer Cloud-VM vermasselt, sodass SSH mich jetzt immer zur Eingabe eines Passworts auffordert. Meine ersten Versuche, dies zu beheben, haben mich ausgesperrt und mich gezwungen, die Festplatte auszuhängen, sie in einer funktionierenden VM zu mounten und die Dateien in einen bekannten funktionierenden Zustand zu versetzen. Ich werde jedoch immer noch gezwungen, ein Passwort einzugeben.
Ich möchte meinen /etc/ssh/sshd_config
Haupt-SSH-Daemon aktualisieren und neu starten, damit ich ihn testen kann, während ich noch einen anderen mit der alten Konfiguration laufen habe, mit dem ich die Konfiguration wiederherstellen kann, falls der erste mich aussperrt. Wie würde ich das machen, speziell unter Ubuntu?
Antwort1
Sie haben keine Ubuntu-Version erwähnt, daher bin ich nicht sicher, welches Init-System Sie verwenden.
Bei systemd haben Sie möglicherweise eine Datei /etc/systemd/system/sshd.service
. Von der Sie eine Kopie als erstellen könnten /etc/systemd/system/sshd_alt.service
. Passen Sie dann die ExecStart
Zeile an und fügen Sie ein -p 22000
oder etwas Ähnliches hinzu. Führen Sie danach systemctl enable sshd_alt
und aus systemctl start sshd_alt
. Sie könnten auch auf eine völlig andere Konfigurationsdatei verweisen.
Sie können auch einfach manuell eine Kopie in screen oder so starten, wenn dies nur eine einmalige Sache ist. Starten Sie einfach screen und tun Sie etwas wie /usr/sbin/sshd -D -p 22200
. Sie starten einen Ersatz-SSHD-Daemon, bis Sie sich wieder mit screen verbinden und den Prozess beenden können.
Oder wie @EEAA sagte: Trennen Sie die Verbindung einfach nicht, sondern testen Sie in einer zweiten Sitzung, ob Sie die Verbindung wiederherstellen können.
Antwort2
Mit diesem Befehl können Sie einen SSHD auf einem alternativen Port starten:
sshd -p 12345
Ersetzen Sie 12345 durch Ihre bevorzugte Portnummer. Wenn sshd
diese nicht in Ihrem steht PATH
, müssen Sie im Befehl möglicherweise den vollständigen Pfadnamen verwenden, z . B. /usr/sbin/sshd
.
Antwort3
Lassen Sie einfach eine SSH-Sitzung aktiv und verwenden Sie eine andere, um Ihre Konfigurationsänderungen vorzunehmen. Ihre ursprüngliche Sitzung bleibt verbunden und verfügbar, um Änderungen rückgängig zu machen, wenn Ihre Konfigurationsänderungen etwas beschädigen.