SSH в скрипте с паролем - PullRequest
0 голосов
/ 31 мая 2011

Я хочу написать один скрипт оболочки, например

command1    
ssh vivek@remotehost 
    fire command on remote host

Теперь у меня есть пароль в файле pass.txt.Но когда я меняю стандартный файл с файлом.Это не чтение пароля из файла.

script.sh < password.txt 

Он запрашивает пароль вместо чтения пароля из файла.Что я делаю не так?

Вторая проблема заключается в том, что сценарий оболочки не показывает запущенную команду.Есть ли способ показать мне запущенную команду?

Примечание. У меня нет доступа на основе ключей в удаленной системе.Я могу использовать только пароль на основе логина для SSH.

Ответы [ 3 ]

3 голосов
/ 31 мая 2011

Вы можете использовать ssh-agent или ожидаемо (язык программирования), чтобы сделать это.

1 голос
/ 01 июня 2011

Хорошо, просто упомяну еще один вариант: sshpass - это инструмент, разработанный именно для того, чтобы «обмануть» обычного клиента openssh, чтобы он принимал пароль неинтерактивно.

1 голос
/ 31 мая 2011

OpenSSH ssh не читает пароль из стандартного ввода, а из / dev / tty. Вот почему вы должны использовать Expect или другой подобный инструмент для его автоматизации.

plink - это еще один клиент, также доступный для Linux / Unix, который принимает пароль в качестве параметра в командной строке ... хотя это имеет некоторые ужасные последствия для безопасности.

...