Amazon-Web-Services
如何為 EC2 設置另一個公鑰
我想更改 AWS 中所有實例 EC2 的公鑰。
我還有以前的鑰匙。到目前為止,我創建了一個新的公鑰,但我不知道如何將最新的公鑰附加到所有 EC2 實例。
有沒有辦法在不失去任何實例的情況下做到這一點?
- 創建所有正在執行的實例的列表。你可能已經有一個,如果沒有,你可以使用這樣的東西:
aws ec2 describe-instances | jq -r '.Reservations[].Instances[]|select(.State.Name=="running").PrivateIpAddress' > instances.txt
- 將新的 SSH 密鑰複製到您的所有實例:
for HOST in $(cat instances.txt); do ssh-copy-id -i {new-key}.pem ec2-user@${HOST} done
- 測試您的新密鑰是否有效,然後您可以從
~ec2-user/.ssh/authorized_keys
每個實例中刪除舊密鑰。同樣,這可以通過instances.txt
上面的循環輕鬆編寫腳本。希望有幫助:)