Windows

即使使用正確的私鑰,Windows 密碼也不會在 AWS EC2 上解密

  • January 26, 2021

我在 AWS EC2 上創建了一個新的 Windows 實例,使用我通過從本地機器上傳我的公鑰創建的密鑰對。

該實例啟動正常,但它不會解密密碼。它報告:

私鑰必須以“—–BEGIN RSA PRIVATE KEY—–”開頭並以“—–END RSA PRIVATE KEY—–”結尾

我確定我上傳了正確的密鑰。我已經驗證指紋與 AWS 使用的奇怪指紋格式匹配。但它只是不會解密。

我已經嘗試上傳密鑰文件,並將其粘貼到表單中。

我最終發現它沒有刪除尾隨換行符,並刪除了鍵中的空白行。但是,當我點擊“解密密碼”時,這只會讓我遇到一個新錯誤:

解密您的密碼時出錯。 請確保您已正確輸入您的私鑰。

AWS EC2 的密鑰管理無法處理設置了密碼(加密)的 SSH 私鑰。它沒有檢測到這一點,只是簡單地失敗並出現一個無意義的錯誤。

如果您的私鑰以加密方式儲存在磁碟上(應該是,IMO),您必須將其解密以將其粘貼到 AWS 的控制台中。

與其這樣做,不如考慮在本地解密密碼,這樣您就不必將私鑰發送到 AWS。啟動後從伺服器日誌中獲取加密後的密碼數據(base64 編碼),或者使用get-password-data或相應的 API 請求。

然後,您可以對結果進行 base64 解碼和解密:

base64 -d /tmp/file | openssl rsautl -decrypt -inkey /path/to/aws/private/key.pem

(OpenSSH 私鑰被 接受openssl rsautl)。

無法使用有用錯誤​​處理受密碼保護的密鑰的問題也會影響ec2-get-password命令

也可以看看:

引用自:https://serverfault.com/questions/603984