サーバーに ssh 接続し、特定のコマンドを実行し、そこから出力を取得する Ruby スクリプトを作成しようとしています。これは私がこれまでに得たもので、主にプログラミングRubyの本から改作されています:
require 'pty'
require 'expect'
$expect_verbose = true
PTY.spawn("ssh root@x.y") do |reader, writer, pid|
reader.expect(/root@x.y's password:.*/)
writer.puts("password")
reader.expect(/.*/)
writer.puts("ls -l")
reader.expect(/.*/)
answer = reader.gets
puts "Answer = #{answer}"
end
残念ながら、私が戻ってきたのはこれだけです:
Answer = .y's password:
私が何を間違っていたのか、これを軽減する方法はありますか?