Wie kann ein SSH-Daemon an einem anderen Port als dem Standard 22 ausgeführt werden?
Ich habe etwas mit meiner SSH-Konfiguration auf einer Cloud-VM vermasselt, sodass SSH mich jetzt immer zur Eingabe eines Kennworts auffordert. Meine frühen Versuche, dies zu beheben, haben mich gesperrt und mich gezwungen, die Festplatte zu mounten, sie in eine funktionierende VM zu mounten und die Dateien in einen bekannten Arbeitszustand zu versetzen. Es zwingt mich jedoch immer noch, ein Passwort einzugeben.
Ich möchte meinen aktualisieren /etc/ssh/sshd_config
und den Haupt-SSH-Daemon neu starten, gegen den ich testen kann, während noch ein anderer mit der alten Konfiguration ausgeführt wird, mit dem ich die Konfiguration zurücksetzen kann, falls der erste mich sperrt. Wie würde ich das machen, speziell unter Ubuntu?
sshd
keine hergestellten Verbindungen beendet werden, sodass Sie nicht gesperrt werden, wenn Sie eine vorhandene Sitzung geöffnet haben, bevor Sie Änderungen vornehmen."configuration on a cloud VM"
- Dann benutzen Sie einfach die Konsole, die sie Ihnen geben - kein 2. SSH erforderlich. Die Konsole ist speziell für den Fall gedacht, dass Sie sich selbst aussperren.Antworten:
Sie haben keine Ubuntu-Version erwähnt, daher bin ich mir nicht sicher, welches Init-System Sie verwenden.
Wenn systemd, haben Sie möglicherweise eine Datei
/etc/systemd/system/sshd.service
. Was Sie als Kopie machen könnten/etc/systemd/system/sshd_alt.service
. Passen Sie dann dieExecStart
Linie an und fügen Sie ein-p 22000
oder etwas hinzu. Danach tunsystemctl enable sshd_alt
undsystemctl start sshd_alt
. Sie können auch auf eine völlig andere Konfigurationsdatei verweisen.Sie können eine Kopie auch einfach manuell auf dem Bildschirm starten oder so, wenn dies nur eine einmalige Sache ist. Starten Sie einfach den Bildschirm und machen Sie so etwas
/usr/sbin/sshd -D -p 22200
. Sie starten einen Ersatz-sshd-Daemon, bis Sie erneut eine Verbindung zu diesem Bildschirm herstellen und den Vorgang beenden können.Oder wie @EEAA sagte. Trennen Sie die Verbindung einfach nicht. Verwenden Sie eine zweite Sitzung, um zu testen, ob Sie die Verbindung wieder herstellen können.
quelle
Mit diesem Befehl können Sie ein sshd an einem alternativen Port starten:
Ersetzen Sie 12345 durch Ihre bevorzugte Portnummer. Wenn dies
sshd
nicht in Ihrem enthalten istPATH
, müssen Sie möglicherweise den vollständigen Pfadnamen im Befehl verwenden, z/usr/sbin/sshd
.quelle
/proc/self/exe
falls verfügbar.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.
quelle
cmd-w
oder das falsche Fenster fokussiert hattenctrl-f4
.