Class: MJ::Tools::SSH
- Inherits:
-
Object
- Object
- MJ::Tools::SSH
- Includes:
- SubProcess
- Defined in:
- lib/mj/tools/ssh.rb
Class Method Summary collapse
- .add_key(key_file) ⇒ Object
- .cleanup ⇒ Object
- .has_key?(key_file) ⇒ Boolean
- .has_keys? ⇒ Boolean
- .keys ⇒ Object
- .list_keys ⇒ Object
- .remove_all_keys ⇒ Object
- .remove_key(key_file) ⇒ Object
- .ssh_add(command, &block) ⇒ Object
Class Method Details
.add_key(key_file) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/mj/tools/ssh.rb', line 19 def self.add_key( key_file ) if @keys_added.index( key_file ) return end if ssh_add( "#{key_file}" ) == 0 @keys_added << key_file end end |
.cleanup ⇒ Object
28 29 30 31 32 33 |
# File 'lib/mj/tools/ssh.rb', line 28 def self.cleanup @keys_added.each do |file| self.remove_key( file ) end @keys_added = [] end |
.has_key?(key_file) ⇒ Boolean
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/mj/tools/ssh.rb', line 35 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 |
.has_keys? ⇒ Boolean
11 12 13 |
# File 'lib/mj/tools/ssh.rb', line 11 def self.has_keys? return ! @keys_added.empty? end |
.keys ⇒ Object
15 16 17 |
# File 'lib/mj/tools/ssh.rb', line 15 def self.keys return @keys_added end |
.list_keys ⇒ Object
57 58 59 |
# File 'lib/mj/tools/ssh.rb', line 57 def self.list_keys ssh_add( "-l" ) end |
.remove_all_keys ⇒ Object
53 54 55 |
# File 'lib/mj/tools/ssh.rb', line 53 def self.remove_all_keys ssh_add( "-D" ) end |
.remove_key(key_file) ⇒ Object
49 50 51 |
# File 'lib/mj/tools/ssh.rb', line 49 def self.remove_key( key_file ) ssh_add( "-d #{key_file}" ) end |
.ssh_add(command, &block) ⇒ Object
61 62 63 64 65 66 67 |
# File 'lib/mj/tools/ssh.rb', line 61 def self.ssh_add( command, &block ) if block_given? self.execute "ssh-add #{command}", &block else self.execute "ssh-add #{command}" end end |