如何在單獨的連接埠上臨時運行輔助 SSH 伺服器

如何在單獨的連接埠上臨時運行輔助 SSH 伺服器

如何在標準 22 之外的不同連接埠上執行 SSH 守護程序?

我在雲端虛擬機器上搞砸了 SSH 配置,所以現在 SSH 總是提示我輸入密碼。我早期嘗試修復此問題將我拒之門外,迫使我卸載磁碟,將其安裝到正在工作的虛擬機器中,並將檔案修復到已知的工作狀態。但是,它仍然強迫我輸入密碼。

我想更新/etc/ssh/sshd_config並重新啟動主 ssh 守護進程,我可以對其進行測試,同時仍然使用舊配置運行另一個守護進程,我可以使用它來恢復配置,以防第一個守護進程將我鎖定。我該如何做到這一點,特別是在 Ubuntu 上?

答案1

你沒有提到 Ubuntu 版本,所以我不確定你正在運行哪個 init 系統。

如果是 systemd,您可能有一個檔案/etc/systemd/system/sshd.service.您可以將其複製為/etc/systemd/system/sshd_alt.service.然後調整一下ExecStart線,加個-p 22000什麼的。之後做systemctl enable sshd_altsystemctl start sshd_alt。您也可以指向完全不同的設定檔。

如果這只是一次性的事情,您也可以在螢幕上手動啟動副本或其他操作。只需啟動螢幕並執行類似的操作即可/usr/sbin/sshd -D -p 22200。您將啟動一個備用 sshd 守護程序,直到您可以重新連接到該畫面並終止該進程。

或者像@EEAA 所說的。只需不要斷開連接,使用第二個會話來測試是否可以重新連接。

答案2

您可以使用下列命令在備用連接埠上啟動 sshd:

sshd -p 12345

將 12345 替換為您最喜歡的連接埠號碼。如果sshd不在您的 中PATH,您可能需要在命令中使用完整路徑名,例如/usr/sbin/sshd

答案3

只需保持一個 SSH 會話處於活動狀態並使用另一個會話來進行配置變更即可。如果您的配置變更破壞了某些內容,您的原始會話將保持連線並可恢復變更。

相關內容