Добавьте пользователя от корня с ssh ключом

Возможно, странный вопрос, но я не эксперт по сценарию оболочки.

Я настраиваю сервер Ubuntu, начинающийся как корень. Я хотел бы нев интерактивном режиме установить новую учетную запись пользователя, удалить корневой вход в систему и установить ssh ключ, все в единственном сценарии.

Что я имею до сих пор:

# Reconfigure sshd to disable root login
sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
# add user with no password (vagrant copies root ssh key)
useradd new-user -d /home/new-user
echo 'new-user ALL=(ALL:ALL) ALL' >> /etc/sudoers
mkdir -p /home/new-user/.ssh
cp /root/.ssh/authorized_keys /home/new-user/.ssh/authorized_keys
chown new-user:new-user /home/new-user/.ssh/authorized_keys
# restart ssh
service ssh reload

Это работает - но я теперь немного обеспокоен, что пропускаю некоторую лазейку безопасности, или что это - плохой способ достигнуть задачи.

Существует ли более простой метод для достижения этого?

Спасибо.

0
задан 23 April 2015 в 23:06
2 ответа

На мой взгляд, это выглядит достаточно хорошо (больше опытных людей, пожалуйста, поправьте меня!), только несколько предостережений.

Вам не нужно перенастройте sshd_config для каждого пользователя, и было бы лучше вручную настроить авторизованные ключи для пользователя, поскольку у каждого пользователя могут быть разные ключи (но поведение, которое вы закодировали, может быть тем, которое вы хотите).

Вы также не можете необходимо перезапустить ssh после создания пользователя.

0
ответ дан 5 December 2019 в 12:46

вот так:

#!bin/sh
# $Id$

# sshd
sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
service ssh reload

# sudo
echo '%wheel    ALL=(ALL)   ALL' > /etc/sudoers.d/wheel

# user
useradd new-user -d /home/new-user
mkdir /home/new-user/.ssh
cp /root/.ssh/authorized_keys /home/new-user/.ssh/authorized_keys
chown -R new-user:new-user /home/new-user/.ssh/
0
ответ дан 5 December 2019 в 12:46

Теги

Похожие вопросы