Передать пароль в качестве аргумента в 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:


Нашел решение в сети вскоре после публикации вопроса.

Решение:

  1. Установите и используйте sshpass
  2. Используйте интерактивный режим для принудительного ввода пароля, который является пустой строкой
  3. Используемая команда 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/

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