1
0
Fork 0
mirror of https://github.com/nishiki/manage-password.git synced 2024-11-27 23:53:06 +00:00
mpw/lib/UI/CliSSH.rb

43 lines
898 B
Ruby
Raw Normal View History

2013-08-06 20:24:09 +00:00
#!/usr/bin/ruby
# author: nishiki
# mail: nishiki@yaegashi.fr
# info: a simple script who manage your passwords
require "#{APP_ROOT}/lib/UI/Cli"
2013-08-06 20:24:09 +00:00
class CliSSH < Cli
attr_accessor :server, :port, :login
2013-08-25 08:07:39 +00:00
# Connect to SSH
# args: search -> string to search
2013-08-06 20:24:09 +00:00
def ssh(search)
2014-01-23 21:32:48 +00:00
result = @mpw.search(search, nil, 'ssh')
2013-08-06 20:24:09 +00:00
if result.length > 0
result.each do |r|
2014-08-31 10:39:40 +00:00
server = @server.nil? ? r[:host] : @server
port = @port.nil? ? r[:port] : @port
login = @login.nil? ? r[:login] : @login
2014-08-31 10:39:40 +00:00
passwd = r[:password]
2013-08-06 20:24:09 +00:00
2014-11-16 18:39:38 +00:00
if port.nil? and port.empty?
2013-08-06 20:24:09 +00:00
port = 22
end
2013-12-26 17:18:10 +00:00
puts "#{I18n.t('ssh.display.connect')} ssh #{login}@#{server} -p #{port}"
2013-08-06 20:24:09 +00:00
if passwd.empty?
system("ssh #{login}@#{server} -p #{port}")
2013-08-06 20:24:09 +00:00
else
system("sshpass -p '#{passwd}' ssh #{login}@#{server} -p #{port}")
2013-08-06 20:24:09 +00:00
end
end
else
2013-12-26 17:18:10 +00:00
puts I18n.t('ssh.display.nothing')
2013-08-06 20:24:09 +00:00
end
end
end