如何在 EC2 实例上创建用户并添加 SSH 密钥?

如何在 EC2 实例上创建用户并添加 SSH 密钥?

我可以使用具有 root(sudo)权限的 EC2 帐户中的密钥对ssh进入远程 EC2 实例。ec2-user

如何手动创建另一个非 ec2 用户的用户帐户、添加 SSH 密钥并sudo为该用户添加权限?

答案1

创建用户帐户

首先,使用标准 Linux/UNIXuseradd命令创建用户帐户:

NEWUSER='newusername'
SSHPUBKEY='ssh-ed25519 AAAA..xyz jamieson@desktop'
sudo useradd -m $NEWUSER

将 SSH 公钥添加到该用户的 authorized_keys 文件中

将目录的所有权重新交给用户至关重要,否则 SSH 守护进程将拒绝由root而非拥有的文件$NEWUSER。(另一种方法是使用ssh-copy-id,但这种方法可以在同一个登录会话中完成。)

sudo mkdir /home/$NEWUSER/.ssh/
echo "$SSHPUBKEY" | sudo tee -a /home/$NEWUSER/.ssh/authorized_keys >/dev/null
sudo chown -R $NEWUSER:$NEWUSER /home/$NEWUSER/.ssh

为该用户设置 sudo 权限

这使用标准 /etc/sudoers.d 目录(在所有主要发行版中都可以找到)为用户帐户添加具有“ALL”角色的 sudo 权限。

echo "$NEWUSER ALL=(ALL) NOPASSWD: ALL" | sudo tee "/etc/sudoers.d/$NEWUSER" >/dev/null

(免责声明:我撰写了工具可以自动完成用户化

相关内容