Создайте пользователя и ключ SSH с помощью сценария

Я работаю сценарий, которые создают пользователя и добавляют ключ для того пользователя, таким образом, он может использовать тот ключ со своим именем пользователя к SSH в мой VM

Напр. пользователь = Джон

useradd -m john &&
cd ~/.ssh/ && 
rm -rf tmp_rsa* &&
ssh-keygen -t rsa -b 4096 -C "john@email.com" -N '' -f john_rsa &&
echo "#tmp_rsa" >> authorized_keys &&
cat john_rsa.pub >> authorized_keys &&
cat authorized_keys &&
service ssh restart &&
echo ">>> Done"

Вышеупомянутый сценарий, корректно для достигания того, что я хочу?

Я попробовал подключение ООН: john, и ключ сгенерирован john_rsa.

Я добрался

enter image description here


Благодаря @marosg и @Takkat

Вот мой обновленный сценарий

adduser -m john &&
cd ~/.ssh/ && 
rm -rf tmp_rsa* &&
ssh-keygen -t rsa -b 4096 -C "john@email.com" -N '' -f john_rsa &&
echo "#tmp_rsa" >> ~john/.ssh/authorized_keys &&
cat john_rsa.pub >> ~john/.ssh/authorized_keys &&
cat authorized_keys &&
echo ">>> Done"
0
задан 24 January 2019 в 02:43

1 ответ

Существует несколько вещей неправильно здесь:

  • Вы создаете пользователя john, и затем Вы ничего не делаете с этим пользователем больше

  • Вы добавляете ключи к СВОЕМУ пользователю

  • удаленному пользователю, который должен войти в систему здесь, нужен закрытый ключ от ssh пары ключей на машине, от которой он соединяется

  • нет никакой потребности перезапустить ssh сервис после добавляющих ключей

В чем Вы нуждаетесь на стороне клиента

  • пользователь генерирует ssh пару ключей и предоставляет Вам открытый ключ этой пары ключей (ssh-keygen ...; cat id_rsa.pub)

То, в чем Вы нуждаетесь на стороне сервера,

  • добавьте пользователя john

  • добавьте открытый ключ, предоставленный пользователем ~john/.ssh/authorized_keys (echo id_rsa.pub_provided_by_remote_user >> ~john/.ssh/authorized_keys)

3
ответ дан 26 October 2019 в 11:48

Другие вопросы по тегам:

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