部署新的EC2实例时,您必须选择SSH密钥才能访问该计算机。我想仅使用 用户数据中指定的授权密钥作为实例。这可能吗?我尝试过同时使用ssh-authorized-keys
:
users:
- name: user
ssh-authorized-keys:
- ssh-rsa [...] my_key
和write_files
:
write_files:
- content: |
ssh-rsa [...] my_key
path: /home/user/.ssh/authorized_keys
,但在这两种情况下,原始密钥都会自动添加到/root/.ssh/authorized_keys
。我是否需要禁用root
登录才能永久禁用此密钥?
答案 0 :(得分:2)
用户 ec2-user | centos | ubuntu ...是/ etc / cloud / *定义的 default_user .cfg
这是如何跳过此default_user行为,并通过user-data设置另一个用户:
#cloud-config
system_info:
default_user: ~
users:
- name: myname
sudo: ALL=(ALL) NOPASSWD:ALL
ssh-authorized-keys:
- ssh-rsa AAAA[...]O1 myname@myhost
请注意,AWS console / api上选择的密钥对将被忽略。
答案 1 :(得分:0)
如果要从AWS Web控制台启动实例,则可以选择在最后一步中不使用密钥启动。因此,只有您在cloud-config中指定的公钥才会被注入实例。