Удаленное выполнение bash-скриптов, которые требуют ввода - PullRequest
0 голосов
/ 10 мая 2018

Я использую команду SSH для удаленного выполнения сценариев bash:

ssh user@server 'bash -s' < $script_dir/script.sh

А внутри script.sh у меня будет такая команда:

ssh-keygen -t rsa
ssh-copy-id postgres@$sqlserver
ssh postgres@$sqlserver -C true

А также

printf "Creating user in postgresql server...\n"
createuser -s -P username

Которые нуждаются в вводе данных пользователем, но я обнаружил, что при выполнении команды с удаленного сервера она пропустит получение ввода пользователя и не удалась.

Еще один:

printf "Please enter your barman server name: \n" ; read -s barmanserver

Который не может прочитать ввод пользователя, ни

Я знаю, что сценарий, похоже, не может прочитать ввод другого терминала, но может ли кто-нибудь помочь мне найти решение, если мне нужно, чтобы ввод пользователя продолжался?

Большое спасибо !!

Eva

1 Ответ

0 голосов
/ 10 мая 2018

Я использовал что-то подобное в прошлом.Я не совсем уверен, почему я установил sshpass, хотя.

apt-get install sshpass -y
echo "Adding users to new VMs"
adduser adminuser
echo "changing user password"
echo "adminuser:password" | chpasswd
adduser adminuser sudo

Это работает, но предупреждает вас.

...