連線EC2需要使用ssh方式,昨天建立ec2時選擇了.pem的金鑰並下載到電腦裡了,這會是一個這樣內容的文字檔:
-----BEGIN RSA PRIVATE KEY-----
一堆亂碼
-----END RSA PRIVATE KEY-----
把 '這串金鑰的檔案位置' + 'ec2的名稱' + '公共IP地址' 寫成如下指令:
ssh -i /path/to/your-key.pem ec2-user@your-instance-public-ip
執行連線,報錯如下:
Bad permissions. Try removing permissions for user: NT AUTHORITY\\Authenticated Users (S-1-5-11) on file D:/program/fight_web_game/fight_web_game_v1.pem.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'D:\\program\\fight_web_game\\fight_web_game_v1.pem' 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:\\program\\fight_web_game\\fight_web_game_v1.pem": bad permissions
clude.ai解釋:
這個錯誤與您的 .pem 文件(私鑰文件)的權限設置有關。系統認為這個文件的權限太開放,可能會被其他用戶訪問,因此拒絕使用它來進行 SSH 連接。這是一個安全機制,用來保護您的私鑰不被未授權的用戶或程序訪問。
錯誤訊息的主要部分是:
"WARNING: UNPROTECTED PRIVATE KEY FILE!" - 警告您的私鑰文件沒有受到適當保護。
"Permissions for '...fight_web_game_v1.pem' are too open." - 指出 .pem 文件的權限設置過於寬鬆。
"It is required that your private key files are NOT accessible by others." - 解釋私鑰文件不應該被其他人訪問。
"This private key will be ignored." - 因為權限問題,系統將忽略這個私鑰。
"Load key "...fight_web_game_v1.pem": bad permissions" - 由於權限問題,無法載入私鑰。
原來是.pem在我這台windows電腦上所有使用者都可以用,系統覺得不安全,先來檢查那些使用者有權限:
PS D:\program\fight_web_game> icacls D:\program\fight_web_game\fight_web_game_v1.pem
列出結果:
D:\program\fight_web_game\fight_web_game_v1.pem DESKTOP-GF4805A\123:(R)
BUILTIN\Administrators:(F)
NT AUTHORITY\SYSTEM:(F)
NT AUTHORITY\Authenticated Users:(M)
BUILTIN\Users:(RX)
以上這些帳號都有權限,於是修改:
# 在 PowerShell 中運行以下命令(請確保以管理員身份運行 PowerShell)
# 1. 移除所有現有權限
icacls D:\program\fight_web_game\fight_web_game_v1.pem /reset
# 2. 給予當前用戶讀取權限
icacls D:\program\fight_web_game\fight_web_game_v1.pem /grant:r "%USERNAME%:R"
# 3. 移除繼承的權限
icacls D:\program\fight_web_game\fight_web_game_v1.pem /inheritance:r
# 4. 確認權限設置
icacls D:\program\fight_web_game\fight_web_game_v1.pem
執行完後剩下目前使用的帳號有權限:
PS D:\program\fight_web_game> icacls D:\program\fight_web_game\fight_web_game_v1.pem
D:\program\fight_web_game\fight_web_game_v1.pem DESKTOP-GF4805A\123:(F)
再次執行連線便可以登入了,跑出一個不知道是什麼的icon