Назад | Перейти на главную страницу

Как создать пользователя и добавить SSH-ключ в экземпляр EC2?

Я могу ssh в удаленный экземпляр EC2 с ec2-user и пара ключей в учетной записи EC2 с привилегиями root (sudo).

Как я могу вручную создать другую учетную запись пользователя, не являющегося пользователем ec2, добавить ключ SSH и добавить sudo разрешения этому пользователю?

Создайте учетную запись пользователя

Сначала создайте учетную запись пользователя, используя стандартный Linux / UNIX useradd команда:

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 (найденный во всех основных дистрибутивах) для добавления разрешений sudo с ролью «ВСЕ» для учетной записи пользователя.

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

(Отказ от ответственности: я написал первый выпуск инструмент что автоматизирует это на Userify.)