ruby net-ssh wywołuje skrypt bash z interaktywnymi monitami

Mam problem, który mam nadzieję, że możesz mi pomóc

Próbuję użyć ruby ​​do ssh na komputerze i uruchomić skrypt bash, ta część jest dość łatwa, ale skrypt bash wymaga ode mnie interaktywnego wpisania nazwy użytkownika i hasła.

Jeśli więc uruchomię skrypt ręcznie, widzę: -

./run_file.sh
Enter username:
Enter password:

Tak więc w polu Wprowadź nazwę użytkownika muszę wprowadzić nazwę użytkownika itp

Mam prostą metodę, której używam do nawiązania połączenia, a moim pomysłem było przekazanie tablicy składającej się z

[‘command to run’, ‘username’, ‘password’] 

ale nie wiem, jak rozszerzyć wywołanie Net :: SSH, aby odpowiedzieć na monity

  # 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

każdy ma jakieś pomysły

questionAnswers(1)

yourAnswerToTheQuestion