そのため、Net::SSH::Multi を使用して SSH 経由で複数のマシンにログインし、リモート マシンで session.exec("some_command") を使用してシェル コマンドを実行しようとしました。
コード:
#!/usr/bin/ruby
require 'rubygems'
require 'net/ssh'
require 'net/ssh/multi'
Net::SSH::Multi.start do |session|
# Connect to remote machines
### Change this!!###
session.use 'user@server'
loop = 1
while loop == 1
printf(">> ")
command = gets.chomp
if command == "quit" then
loop = 0
else
session.exec(command)do |ch, stream, data|
puts "[#{ch[:host]} : #{stream}] #{data}"
end
end
end
end
私が現在抱えている問題は、対話型プロンプトでコマンドを入力すると、「session.exec」が出力ユーティリティを返さないことです。プログラムを終了しました。この問題に遭遇した人がいるかどうか疑問に思っていました。この問題を解決するにはどうすればよいですか?