class SshKeyMan::Uploader
Public Class Methods
upload!(host, port, user, source, dest)
click to toggle source
upload a file to a remote server
# File lib/uploader.rb, line 27 def self.upload! host, port, user, source, dest puts "coping file from #{source} to #{user}@#{host}:#{dest}" `scp -P #{port} #{source} #{user}@#{host}:#{dest}` raise "upload failed" if $?.exitstatus != 0 end
upload_all_public_keys(group)
click to toggle source
upload authorized_keys for a specific group
# File lib/uploader.rb, line 9 def self.upload_all_public_keys group authorized_keys = File.join(".", "authorized_keys") upload_to_all_servers authorized_keys, "~/.ssh/", group end
upload_to_all_servers(source, dest, group)
click to toggle source
upload file to a group of servers
# File lib/uploader.rb, line 16 def self.upload_to_all_servers source, dest, group server_list_path = File.join(".", "server_list.yml") servers = YAML::load_file(server_list_path)['servers'][group] raise "No Server Group: #{group}" if servers.size == 0 servers.each do |server_info| upload! server_info["host"], server_info["port"]||"22", server_info["user"], source, dest end end