SSH -i 金鑰驗證出現問題 UNPROTECTED PRIVATE KEY FILE! 原因和解決方式 教學

之前在 Windows 透過 ssh 指令連接遠端主機 這篇中有介紹到使用 ssh 指令,筆者在使用 ssh 指令時如果使用 -i 參數附加金鑰文件,有時候會出現如下的錯誤:
    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'D:\\ruyut\\key\\ssh-key-2022-08-21.key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "D:\\ruyut\\key\\ssh-key-2022-08-21.key": bad permissions
ubuntu@150.150.150.3: Permission denied (publickey).
    

經過一翻測試,如果是在當前使用者的資料夾下就不會出現該錯誤,例如使用者名稱為 ruyut,那如果在 C:\Users\ruyut 路徑下的檔案就不會出現該錯誤,例如放在桌面(C:\Users\ruyut\Desktop)下或是在「文件」(C:\Users\ruyut\Documents) 資料夾中都可以成功連線,不會跳出「權限太開放」的錯誤。

如果不想要移動檔案的話,可以依照下面的步驟:

對著檔案按下滑鼠右鍵 > 安全性 > 進階

點選「停用繼承」

選擇「從此物件中移除所有繼承權限」

此時「權限項目」中所有的使用者都會被移除,點選「確定」

會提示沒有人能夠存取的警告,點選「是」,不用擔心,我們馬上就會把使用者加回來

回到「內容」的「安全性」中,點選「編輯」

點選「新增」

在「輸入物件名稱來選取」(1)下方空白處輸入使用者名稱,點選「檢查名稱」(2),如果正確則按下「確定」(3)

此時「群組或使用者名稱」應該會出現使用者,將下方的權限全部允許

到這裡就大功告成了!使用 ssh 指令並附加 -i 參數連線就可以正常連入!
  
ssh -i D:\ruyut\key\ssh-key-2022-08-21.key ubuntu@150.150.150.3



參考資料: superuser

留言