如何使用ssh-copy-id将authorized_keys添加到特定用户

时间:2017-07-18 08:15:38

标签: amazon-web-services amazon-ec2 ssh ansible

IN AWS ec2-user是默认用户,root帐户已停用以进行登录

使用ec2-user创建新用户首次登录,然后切换到root,然后执行adduser user1

如果我登录,则从远程计算机应该按此顺序

ssh -i <privkey> ec2-user@<IPADDR>
sudo su
adduser user1

我很难找到如何使用authorized_keys与用户ssh-copy-id复制ec2-user以更新user1 .ssh公钥的方法

基本上切换到root并更新所需的用户/home/user1/.ssh/authorized_keys

手动我可以通过切换到root为每个用户添加authorized_keys,然后转到该用户个人资料,有没有办法自动完成ssh-copy-id

ssh -i <privkey> ec2-user@<IPADDR>
sudo su
su - user1

2 个答案:

答案 0 :(得分:1)

如果您拥有此用户的密码并且允许使用密码验证,则可以像使用ssh-copy-id一样使用ssh-copy-id -i <privkey> user1@<IPADDR>

否则ssh-copy-id对您没有帮助。但是,如果您计划添加更多用户,那么创建几个可以自动执行此作业的行脚本可能是一个很好的方法。

答案 1 :(得分:1)

您可以在实例用户数据中添加cloud-init脚本,以便在首次启动时添加用户和authorized_keys。

查看有关User Data and cloud-init Directives的关于Including users and groups和cloud-init文档的AWS文档。

您可以使用Ansible ec2 module注入用户数据。