如何为 EC2 设置另一个公钥

如何为 EC2 设置另一个公钥

我想更改 AWS 中所有 EC2 实例的公钥。

我仍然有之前的密钥。到目前为止,我创建了一个新的公钥,但我不知道如何将最新的公钥附加到所有 EC2 实例。

有没有什么方法可以做到这一点而不丢失任何实例?

答案1

  1. 创建一个所有正在运行的实例的列表。您可能已经有一个了,如果没有,您可以使用类似这样的方法:

    aws ec2 describe-instances | jq -r '.Reservations[].Instances[]|select(.State.Name=="running").PrivateIpAddress' > instances.txt
    
  2. 将新的 SSH 密钥复制到所有实例:

    for HOST in $(cat instances.txt); do
        ssh-copy-id -i {new-key}.pem ec2-user@${HOST}
    done
    
  3. 测试新密钥是否有效,然后可以从每个实例中删除旧密钥~ec2-user/.ssh/authorized_keys。同样,这可以通过上面的循环轻松编写脚本instances.txt

希望有帮助:)

相关内容