如何停用 sshd 中的所有驗證?

如何停用 sshd 中的所有驗證?

這是一個我完全找不到答案的問題:如何配置 sshd,以便任何人都可以自由地透過 SSH 進入盒子,而無需密碼或金鑰身份驗證?目的是允許任何人運行“ssh user@host”並進入盒子,而無需提供密碼或配置任何金鑰。這可能嗎?

在有人問之前,我很清楚這在實踐中是一個壞主意,但是,這純粹是為了我用於學習目的的沙箱伺服器。

答案1

免責聲明: 我絕對不會建議這樣做。

我假設這是針對 LAN 系統,我希望不是互聯網系統,但您可以建立一個沒有密碼的使用者並在 OpenSSHd 配置中啟用以下選項:

PermitEmptyPasswords yes

要刪除使用者的密碼,可以使用-dpasswd。

passwd -d username

使用 SSH 金鑰的正確方法

您為自己產生 SSH 金鑰對,產生方式取決於您的客戶端。對 Linux 來說,是ssh-keygen.您可以在產生金鑰時使用空密碼,這樣您就無需在登入時輸入密碼。

在您的伺服器中,您可以將公鑰 (id_rsa.pub) 儲存在通常位於使用者.ssh目錄中的authorized_keys 檔案中的一行上。可能需要建立此文件。 (對於單一金鑰,將 id_rsa.pub 作為 ~/.ssh/authorized_keys 複製到伺服器就足夠了)。

私鑰檔案不應公開發布,但可以發佈給您希望存取此 user@machine 的任何人。

相關內容