Linux

如何在 EC2 實例上創建使用者並添加 SSH 密鑰?

  • March 19, 2019

我可以使用具有 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 守護程序將拒絕屬於rootand 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編寫了一個工具的第一個版本,可以自動執行此操作。)

引用自:https://serverfault.com/questions/958902