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:in `start':間違った数の引数(1対2)(ArgumentError)from file.rb:35
これはちょっとしたn00bの質問だと思いますが、助けていただければ幸いです。
(http://rubydoc.info/gems/net-ssh-multi/1.1/Net/SSH/Multi)