我有一个问题希望你能帮助我
我正在尝试使用 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
任何人都有任何想法