OpenSSH - PuTTY(金鑰被拒絕)

OpenSSH - PuTTY(金鑰被拒絕)

我正在設定一個小型 OpenSSH 伺服器,以便我無需直接坐在家用電腦前即可存取重要文件。我已經成功地完全設定了伺服器,但現在我想設定金鑰身份驗證(這樣別人就更難闖入)。

我已經從 Lubuntu 設定複製了金鑰,將它們複製到我的 Windows 計算機,並將它們轉換為.ppk格式普蒂根。在本SSH -> Auth部分中,我選擇了RSA.ppk金鑰檔案、儲存設定並登入伺服器。我輸入我的用戶名,但之後我收到輸出:Server refused our key

我已取消HostKey註解RSAECDSAED25519中的行sshd_config。我不知道我還應該做什麼。

答案1

我使用 PuTTYgen 創建了一個隨機的公鑰/私鑰對,並將輸出框中的文字貼到文件中~/.ssh/authorized_keys。密鑰文件驗證工作完美。

答案2

SSH 使用兩組不同的非對稱(私鑰/公鑰)金鑰——一組用於向用戶端驗證主機/伺服器,另一組(可選)用於向主機/伺服器驗證用戶端。

HostKey中的配置適用sshd_config於主機的金鑰,不適用於任何用戶端。sshd_config為用戶端啟用 pubkey 驗證的指令是PubKeyAuthentication,但您不需要指定(或通常取消註解)它,因為它預設為啟用狀態。

應該有效,對我來說,用 PuTTYgen 轉換 OpenSSH 生成的密鑰並按照您的描述在 PuTTY 中使用它,但是僅有的如果它適用~/.ssh/authorized_keys於適當的使用者 (*)—這對於任何客戶端金鑰都是必需的,無論在何處或如何產生。在一個 Unix 系統上產生金鑰不會自動將其新增至authorized_keys該系統(因為您通常不需要 ssh 來存取您已經所在的系統)或任何其他系統(因為該系統無法知道您還使用了哪些其他系統)可能希望訪問,包括可能在未來幾年)。您提到僅新增authorized_keysPuTTYgen 產生的新金鑰,而不是 Unix 產生和 PuTTYgen 轉換的金鑰。

(*) 或其他位置(如果由AuthorizedKeysFilein指定) sshd_config,但這種情況很少見

相關內容