Сценарий оболочки ssh для входа на несколько серверов с передачей пароля из файла
, например: Имя файла пароля: password.txt
и пароль «test123».
ssh_script
:
ssh testuser@testserver
<<< Here I need to get the password from a file >>>
Он должен прочитать пароль из файла и ввести его на сервер.
Так же, как я и другие говорят, что это плохая идея.
$ SSH_ASKPASS="/opt/bin/password.sh" sh -c 'setsid ssh user@localhost'
или
#!/bin/bash
SSH_ASKPASS="/opt/bin/password.sh" setsid ssh user@localhost
/opt/bin/password.sh:
#!/bin/bash
echo test1234
Идея состоит в том, чтобы настроить ssh в новом сеансе с setsid
и использовать агент ssh_pass для предоставления пароля.
sshpass - неинтерактивный ssh поставщик пароля
sshpass
будет открываться имущество и работать ssh
в псевдотерминале для обманывания ssh
в веру, что пароль прибывает из клавиатуры пользователя. sshpass
затем ожидает Пароля: подсказка, чтобы появиться и отправить пароль из файла.
sshpass -f password.txt ssh user@localhost