Ssh

如何完全禁用密碼 ssh 登錄?

  • December 1, 2016

我正在設置一個執行 raspbian 作業系統的 raspberry pi 3,它將在啟用 ssh 的情況下不斷連接到 wifi,因此安全性是必須的。我已經通過公鑰-私鑰對成功啟用了登錄,並試圖使其成為通過 ssh 訪問 pi 的唯一方法。

我查看了有關此主題的一些執行緒,並在我的 sshd_config 文件中搜尋了任何帶有密碼登錄的內容(PasswordAuthentication、PermitRootLogin、KerberosAuthentication、UsePAM 等)以將它們全部關閉,但無濟於事。一旦使用公鑰登錄失敗,它會立即提示輸入密碼。

我已經重新啟動了 sshd,甚至多次重新啟動了 pi,但沒有任何變化。

由於密碼非常強大,我並不太絕望,但如果可以使用密碼登錄,使用公鑰登錄似乎是一種浪費。

在我的情況下,我編輯/etc/ssh/sshd_config並取消了註釋行PasswordAuthentication no,在我的情況下這樣做了,現在如果客戶端沒有發送密鑰或未經授權的密鑰,伺服器將關閉連接。只要確保該行沒有被註釋#PasswordAuthentication no,它#是一個註釋並被忽略,因為預設是yes它不會工作。

人sshd:

 AuthenticationMethods

         For example, an argument of “publickey,password
         publickey,keyboard-interactive” would require the user to com‐
         plete public key authentication, followed by either password or
         keyboard interactive authentication.  Only methods that are next
         in one or more lists are offered at each stage, so for this exam‐
         ple, it would not be possible to attempt password or keyboard-
         interactive authentication before public key.

所以選擇你喜歡的唯一一個:

AuthenticationMethods publickey

您看到的密碼請求不是要求 pam 密碼,而不是受密碼保護的公鑰 - 您還沒有嘗試過。

引用自:https://unix.stackexchange.com/questions/327208