创建具有多个密钥对的ec2实例

 文love杨阳_848 发布于 2023-01-07 17:30

在创建ec2实例时,我们提供密钥对名称.

但通常,我将多个ssh公钥/私钥与任何远程服务器关联.我知道一旦创建了ec2服务器,就无法附加密钥对.所以我想知道在创建实例时是否可以使用多个密钥对.

2 个回答
  • 你不能......只能手动编辑〜/ .ssh/authorized_keys并添加你想要访问的额外用户的公钥.这种方法的缺点是,当您的EC2终止时,您将不得不重新执行此操作.在开发人员/测试环境中不太方便...... :(

    2023-01-07 17:32 回答
  • 不幸的是,也无法导入具有两个条目的密钥.仅将第一个条目导入新密钥对.

    可以做的是:

    不要使用EC2密钥对,而是使用该user_data字段在/home/<user>/.ssh/authorized_keys文件中插入多个SSH公钥,其中是AMI的标准用户(ubuntu,ec2_user等).

    您可以添加user_data到每个启动的EC2实例.请考虑以下示例:

    #!/bin/bash
    echo "ssh-rsa AAAA…" > /home/ubuntu/.ssh/authorized_keys
    echo "ssh-rsa AAAA…" >> /home/ubuntu/.ssh/authorized_keys
    chown ubuntu: /home/ubuntu/.ssh/authorized_keys
    chmod 0600 /home/ubuntu/.ssh/authorized_keys
    

    用户数据脚本运行,root因此您无需指定sudo.

    这样,您可以在使用Ansible或类似工具管理实例之前,通过Terraform等工具创建个性化SSH访问密钥.

    请注意,您不知道简单外观使用的是哪些键.您需要访问机器进行检查.

    2023-01-07 17:33 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有