aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/leap_cli/config/manager.rb5
-rw-r--r--lib/leap_cli/util/remote_command.rb5
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/leap_cli/config/manager.rb b/lib/leap_cli/config/manager.rb
index b610d3b..5076b63 100644
--- a/lib/leap_cli/config/manager.rb
+++ b/lib/leap_cli/config/manager.rb
@@ -204,6 +204,11 @@ module LeapCli
# returns a single Config::Object that corresponds to a Node.
#
def node(name)
+ if name =~ /\./
+ # probably got a fqdn, since periods are not allowed in node names.
+ # so, take the part before the first period as the node name
+ name = name.split('.').first
+ end
@nodes[name]
end
diff --git a/lib/leap_cli/util/remote_command.rb b/lib/leap_cli/util/remote_command.rb
index 847b056..07db416 100644
--- a/lib/leap_cli/util/remote_command.rb
+++ b/lib/leap_cli/util/remote_command.rb
@@ -31,7 +31,7 @@ module LeapCli; module Util; module RemoteCommand
end
node_list.each do |name, node|
- cap.server node.name, :dummy_arg, node_options(node, options[:ssh_options])
+ cap.server node.domain.full, :dummy_arg, node_options(node, options[:ssh_options])
end
yield cap
@@ -50,7 +50,8 @@ module LeapCli; module Util; module RemoteCommand
#
def ssh_options
{
- :config => false,
+ :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.
:global_known_hosts_file => path(:known_hosts),
:user_known_hosts_file => '/dev/null',
:paranoid => true