Linux
如何在 EC2 實例上創建使用者並添加 SSH 密鑰?
我可以使用具有 root(sudo) 權限的 EC2 帳戶中的密鑰對
ssh
進入遠端 EC2 實例。ec2-user
如何手動創建另一個非 ec2 使用者使用者帳戶、添加 SSH 密鑰
sudo
並向該使用者添加權限?
創建使用者帳戶
useradd
首先,使用標準 Linux/UNIX命令創建使用者帳戶:NEWUSER='newusername' SSHPUBKEY='ssh-ed25519 AAAA..xyz jamieson@desktop' sudo useradd -m $NEWUSER
將 SSH 公鑰添加到該使用者的 authorized_keys 文件
將目錄 chown 還給使用者很重要,否則 SSH 守護程序將拒絕屬於
root
and not的文件$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
(免責聲明:我在Userify編寫了一個工具的第一個版本,可以自動執行此操作。)