SSH:“‘my_key.pub’的權限 0644 過於開放。”

SSH:“‘my_key.pub’的權限 0644 過於開放。”

為什麼0644ie-rw-r--r--對 SSH 金鑰過於開放?另外,我在.ssh目錄 ( 0700) 或主目錄 ( 0731)上找不到任何錯誤的權限。

順便說一句,我在通過測試密鑰的釋義時收到此錯誤ssh-keygen -y -f my_key.pub

此致

答案1

您可能在錯誤的檔案上執行 ssh-keygen。ssh-keygen -y運行在私人的密鑰檔。 “.pub”文件通常包含民眾鑰匙。您可能有一個名為 的文件my_key,沒有任何副檔名,它的模式應該是 0600。

為了直接回答您的問題,SSH 金鑰通常用於允許無需密碼即可連接到遠端伺服器。擁有私鑰將允許某人在任何接受該金鑰的系統上登入您的帳戶。 ssh-keygen 和其他 ssh 實用程式要求私鑰檔案具有受限權限,因為這些檔案很敏感且需要保持安全。

答案2

您需要運行的唯一命令是chmod 600 ~/.ssh/id_rsa.就是這樣。

這會更改文件的權限,以便所有者(您)可以讀取和寫入該文件,這將刪除您收到的錯誤訊息。

答案3

0644不應該對公鑰太開放,但對您的私鑰來說太開放。

你的私鑰應該有權限,0600而你的公鑰也有權限0644

順便說一句,您還應該注意.ssh資料夾的權限。它應該具有 權限0700,以便只有您(所有者)可以控制該資料夾。

對於您的主目錄,不應該向群組和其他人授予寫入權限。

運行chmod go-w /home/username應該可以解決這個問題。

答案4

上面的答案是有效的,但在運行任何chmod修復權限之前,只需確保您的IdentityFile確實~/.ssh/config引用了您的私鑰。新手可能會誤解這一點並引用公鑰(帶有.pub擴展名),從而導致相同的錯誤(因為公鑰檔案權限對於私鑰來說過於開放)。

相關內容