Я пытаюсь использовать net-ssh-multi для запуска команды на группе серверов.Для этой цели аутентификация по ssh-ключу не возможна;пароль должен быть передан каждому серверу, определенному в строках session.use.Вот проблема: «net / ssh» может принимать параметр пароля, а «net / ssh / multi» - нет.То, что я хотел бы сделать, это что-то вроде этого:
require 'net/ssh'
require 'net/ssh/multi'
#The necessary data is contained in a Ticket object
my_ticket = Ticket.new
Net::SSH::Multi.start (:password => 'xxxx') do |session|
# define the servers we want to use
my_ticket.servers.each do |serv_id|
session.use "#{my_ticket.user_name}@#{serv_id}"
end
# execute commands on all servers
session.exec "uptime"
# run the aggregated event loop
session.loop
end
Однако, это дает мне:
file.rb: 35: в `start ': неверное количество аргументов (1 для2) (ArgumentError) из файла file.rb: 35
Я знаю, что это вопрос о n00b, но я бы очень признателен за помощь.
(http://rubydoc.info/gems/net-ssh-multi/1.1/Net/SSH/Multi)
)