Ruby net-ssh-multi:在运行时传递密码作为参数
|
我正在尝试使用net-ssh-multi在一组服务器上运行命令。对于此任务,不能选择使用ssh-key身份验证。必须将密码传递给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 \'中:file.rb:35的参数数目错误(1为2)(ArgumentError)
我知道这是一个n00b问题,但是我非常感谢您的帮助。
(http://rubydoc.info/gems/net-ssh-multi/1.1/Net/SSH/Multi)
没有找到相关结果
已邀请:
1 个回复
粱委教