Передать пароль в качестве аргумента в pssh
Я пытаюсь написать скрипт, который будет запускать команды на нескольких машинах с pssh
, Есть ли способ передать пароль также в той же командной строке, как показано ниже:
$ pssh -h pssh-host.txt -l root -A "pswd" echo "hi"
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
Пробовал следующее решение:
sshpass -pabc pssh -h pssh-host.txt -l root -A echo "hi"
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
[1] 13:55:56 [SUCCESS] x
[2] 13:55:56 [SUCCESS] y
я не хочу это Password:
незамедлительный. Может кто-нибудь предложить способ для этого?
1 ответ
Решение
Перекрестный ответ пользователя user568109 на Unix SE в качестве сообщества Wiki:
Нашел решение в сети вскоре после публикации вопроса.
Решение:
- Установите и используйте sshpass
- Используйте интерактивный режим для принудительного ввода пароля, который является пустой строкой
- Используемая команда
cat local | sshpass -ppassword parallel-ssh -I -h new_hosts -l root -A 'cat >> remote'
Оригинальное решение по адресу: http://www.getreu.net/public/downloads/doc/Secure_Computer_Cluster_Administration_with_SSH/