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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage