Sha256: 0dea1171828e49d713c544795523ab648e9197f6c8c4f2a3165b8621c10916df
Contents?: true
Size: 1.54 KB
Versions: 5
Compression:
Stored size: 1.54 KB
Contents
require 'mj/tools/subprocess.rb' module MJ; module Tools class SSH include MJ::Tools::SubProcess @keys_added = [] def self.has_keys? return ! @keys_added.empty? end def self.keys return @keys_added end def self.add_key( key_file ) if @keys_added.index( key_file ) return true end if ssh_add( "#{key_file}" ) == 0 @keys_added << key_file return true end return false end def self.cleanup @keys_added.each do |file| self.remove_key( file ) end @keys_added = [] end def self.has_key?( key_file ) if @keys_added.index( key_file ) return true end found = false ssh_add '-l' do |line| if line.index(key_file) return found = true end end return found end def self.remove_key( key_file ) ssh_add( "-d #{key_file}" ) end def self.remove_all_keys ssh_add( "-D" ) end def self.list_keys ssh_add( "-l" ) end def self.ssh_add( command, &block ) if block_given? self.execute "ssh-add #{command}", &block else self.execute "ssh-add #{command}" end end end end; end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
build-tool-0.5.7 | lib/mj/tools/ssh.rb |
build-tool-0.5.6 | lib/mj/tools/ssh.rb |
build-tool-0.5.5 | lib/mj/tools/ssh.rb |
build-tool-0.5.4 | lib/mj/tools/ssh.rb |
build-tool-0.5.3 | lib/mj/tools/ssh.rb |