ruby net-ssh Aufruf-Bash-Skript mit interaktiven Eingabeaufforderungen
Ich habe ein Problem, bei dem Sie mir hoffentlich helfen können
Ich versuche, Ruby zu verwenden, um auf einem Computer zu sshen und ein Bash-Skript auszuführen. Dieser Teil ist recht einfach, aber für das Bash-Skript muss ich interaktiv einen Benutzernamen und ein Kennwort eingeben
Wenn ich das Skript also manuell starte, sehe ich:
./run_file.sh
Enter username:
Enter password:
Bei der Aufforderung zur Eingabe des Benutzernamens muss ich den Benutzernamen usw. Eingeben
Ich habe eine einfache Methode, mit der ich die Verbindung herstelle, und meine Idee war, ein Array zu übergeben, das aus
[‘command to run’, ‘username’, ‘password’]
Ich weiß jedoch nicht, wie ich den Net :: SSH-Aufruf erweitern soll, um auf die Eingabeaufforderungen zu reagieren
# 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
jemand hat irgendwelche Ideen