Итак, я пытаюсь использовать Net :: SSH :: Multi для входа на несколько компьютеров с помощью SSH, а затем выполнения команд оболочки на удаленных компьютерах с помощью session.exec («some_command»).Net :: SSH :: Multi, используя session.exec, как вы получаете результат сразу? Ruby
Кодекс:
#!/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 '[email protected]'
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» не возвращает выходные Util я выйти из программы, Мне было интересно, если кто-нибудь столкнется с этой проблемой и может рассказать мне, как я могу решить эту проблему?
Нет К сожалению, нет, это не совсем работает! Я опубликовал все соответствующие коды для тех, кто хочет проверить! : P – chutsu
У меня небольшая проблема в сессии ruby ssh. Пожалуйста, помогите мне. https://stackoverflow.com/questions/28799593/unix-commands-work-on-server-but-not-in-ruby-ssh-session thanks. – james