Как отправить данные аутентификации в скрипте Bash? - PullRequest
3 голосов
/ 28 декабря 2011

Я хочу написать bash-скрипт, который отправляет пароль для аутентификации на удаленном сервере.

Например, я хочу написать bash-скрипт, который бы вытягивал код из репозитория github на сервер,но я должен указать пароль или пароль для этого.

Как я должен это кодировать?Я попробовал пару вещей, но ничего не получилось.

1 Ответ

7 голосов
/ 28 декабря 2011

Я думаю, это было обсуждено много, но вы могли бы использовать ожидайте .Вот пример использования его для подключения к хосту с использованием ssh:

#!/usr/bin/expect

set password "YOURPASSWORD"
set user "john"
set host "192.168.1.100"

spawn ssh $user@$host
expect "Password:"
send "$password\n";
interact

Замените «ssh user @ host» на команду, которую вы хотите выполнить, например, «git pull»:

spawn git pull

В следующей строке указывается, какой запрос следует ожидать («Пароль:»).Убедитесь, что эта строка точно соответствует тому, что появляется после того, как вы выполните git pull вручную.Важна чувствительность к регистру и пробелы.

РЕДАКТИРОВАТЬ : установка ожидаемого проста в системах на основе Debian:

apt -y install expect

на основе RedHat:

yum -y install expect
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...