aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2014-05-20 14:19:43 -0700
committerelijah <elijah@riseup.net>2014-05-20 14:19:43 -0700
commit1161c65b23c218726d4aba85d777193af1ea4aae (patch)
tree61cae312848cca41218c96f71c72b11c20c6a4dd
parentd99379c0e885b2ae26f3cd6a9631a51b431adc7a (diff)
downloadleap_cli-1161c65b23c218726d4aba85d777193af1ea4aae.tar.gz
leap_cli-1161c65b23c218726d4aba85d777193af1ea4aae.tar.bz2
ssh: modified yet again how ssh is used. pin to a newer version of capistrano that i think handles ~/.ssh/config better, and explicitly specify that ~/.ssh/config should be loaded for Net::SSH connections.
-rw-r--r--leap_cli.gemspec2
-rw-r--r--lib/leap_cli/util/remote_command.rb6
2 files changed, 3 insertions, 5 deletions
diff --git a/leap_cli.gemspec b/leap_cli.gemspec
index a2f197d..829309a 100644
--- a/leap_cli.gemspec
+++ b/leap_cli.gemspec
@@ -56,7 +56,7 @@ spec = Gem::Specification.new do |s|
s.add_runtime_dependency('tee')
# network gems
- s.add_runtime_dependency('capistrano', '~> 2.13.5')
+ s.add_runtime_dependency('capistrano', '~> 2.15.5')
#s.add_runtime_dependency('supply_drop')
# ^^ currently vendored
diff --git a/lib/leap_cli/util/remote_command.rb b/lib/leap_cli/util/remote_command.rb
index 07db416..6972bbb 100644
--- a/lib/leap_cli/util/remote_command.rb
+++ b/lib/leap_cli/util/remote_command.rb
@@ -50,8 +50,7 @@ module LeapCli; module Util; module RemoteCommand
#
def ssh_options
{
- :config => false, # setting config to `false` is odd. however, if we don't do this, net:ssh doesn't use ssh-agent correctly,
- # for some unknown reason. also, with config `false`, it seems to still use ~/.ssh/config, so go figure.
+ :config => "~/.ssh/config",
:global_known_hosts_file => path(:known_hosts),
:user_known_hosts_file => '/dev/null',
:paranoid => true
@@ -68,13 +67,12 @@ module LeapCli; module Util; module RemoteCommand
# return {:password => password_proc}
#
def node_options(node, ssh_options_override=nil)
- ssh_options_override ||= {}
{
:ssh_options => {
# :host_key_alias => node.name, << incompatible with ports in known_hosts
:host_name => node.ip_address,
:port => node.ssh.port
- }.merge(contingent_ssh_options_for_node(node)).merge(ssh_options_override)
+ }.merge(contingent_ssh_options_for_node(node)).merge(ssh_options_override||{})
}
end