![無法透過 AWS 控制台從現有金鑰對匯入 EC2 金鑰對(長度超過最大值)](https://rvso.com/image/568276/%E7%84%A1%E6%B3%95%E9%80%8F%E9%81%8E%20AWS%20%E6%8E%A7%E5%88%B6%E5%8F%B0%E5%BE%9E%E7%8F%BE%E6%9C%89%E9%87%91%E9%91%B0%E5%B0%8D%E5%8C%AF%E5%85%A5%20EC2%20%E9%87%91%E9%91%B0%E5%B0%8D%EF%BC%88%E9%95%B7%E5%BA%A6%E8%B6%85%E9%81%8E%E6%9C%80%E5%A4%A7%E5%80%BC%EF%BC%89.png)
我想在另一個可用區中使用相同的金鑰對,但無法匯入它。如果我產生一個新密鑰,我會得到同樣的錯誤。
請參閱 AWS 主控台 > Newtwork 和安全性 > 金鑰對 > 匯入金鑰對,然後選擇現有的 EC2 金鑰對,我收到下列錯誤:
Value (LS0tL...tLS0t) for parameter PublicKeyMaterial is invalid. Length exceeds maximum of 1024
為什麼導入的公鑰對必須小於 AWS 產生的金鑰對?
答案1
您正在嘗試匯入 ssh 私鑰檔案。您應該僅匯入公共 ssh 金鑰檔案。
在 Linux 上,您可以使用以下方法從私鑰中提取公鑰:
ssh-keygen -y -f KEYPAIR.pem
Amazon EC2 不需要知道您的私人 ssh 金鑰。您應該保守這個秘密,不要與任何人分享,甚至是亞馬遜。
這是我寫的一篇文章,其中描述了我對您產生自己的預設 ssh 金鑰並將其上傳到 EC2 的建議:
將個人 ssh 金鑰上傳到 Amazon EC2
http://alestic.com/2010/10/ec2-ssh-keys
這使得使用和存取 EC2 執行個體變得更加容易,無論您在哪個區域執行它們。