Как мне установить пароль для пользователя, которого я создал с помощью ssh?

У меня есть 20 машин, на которых мне нужно создать пользователя и установить его пароль. Я могу создавать учетные записи и устанавливать пароли, используя цикл for. Внутренняя часть цикла for задается следующим образом

ssh -t user1@$node_name 'sudo useradd user2'

ssh -t user1@$node_name 'sudo passwd user2'

Однако для этого мне нужно сначала ввести пароль для пользователя1, а затем ввести новый пароль для пользователя2. Пробовал на 2-х машинах, работает. Однако мне не нравятся расточительные усилия, и я предполагаю, что у меня был бы более эффективный способ сделать это. Любые идеи?


person Budhapest    schedule 21.08.2013    source источник


Ответы (1)


Чтобы устранить необходимость вводить пароль user1, вы можете изменить параметры sudo -A или -a в $node_name, чтобы аутентификация выполнялась автоматически каким-либо другим способом.

Чтобы избавиться от необходимости вводить пароль user2, вы можете попробовать что-то вроде этого:

ssh -t user1@$node_name "sudo echo $newpass | useradd user2 --stdin"
person Ross Presser    schedule 21.08.2013
comment
Спасибо, что crypt дал мне команду, не найденную ошибку, хотя man crypt показывает, что она существует. Удаление сработало - person Budhapest; 21.08.2013