ruby net-ssh вызывает bash-скрипт с интерактивными подсказками
У меня есть проблема, с которой я надеюсь, что вы можете помочь мне
Я пытаюсь использовать ruby для подключения по ssh к компьютеру и запуска скрипта bash, эта часть довольно проста, но скрипт bash требует от меня ввода имени пользователя и пароля в интерактивном режиме, и я застрял здесь.
Поэтому, если я запускаю скрипт вручную, я вижу:
./run_file.sh
Enter username:
Enter password:
Таким образом, при вводе имени пользователя необходимо ввести имя пользователя и т. Д.
У меня есть простой метод, который я использую для установления соединения, и моя идея состояла в том, чтобы передать массив, состоящий из
[‘command to run’, ‘username’, ‘password’]
но я не знаю, как расширить вызов Net :: SSH для ответа на запросы
# ssh conectivity method
def command_ssh(host, cmd)
require 'net/ssh'
user = LocalConfig::SSH_DETAILS[:user]
pass = LocalConfig::SSH_DETAILS[:pass]
Net::SSH.start(host, user, :password => pass, :paranoid => false, :auth_methods => ['password'], :timeout => 10 )do |ssh |
output = (ssh.exec!(cmd[0]))
return output
end
end
кто-нибудь есть какие-либо идеи