diff --git a/lib/fog/compute/models/aws/server.rb b/lib/fog/compute/models/aws/server.rb index 39d3d8f9e..4d90df98b 100644 --- a/lib/fog/compute/models/aws/server.rb +++ b/lib/fog/compute/models/aws/server.rb @@ -177,8 +177,11 @@ module Fog end def ssh(commands) - requires :identity, :ip_address, :private_key, :username - Fog::SSH.new(ip_address, username, :key_data => [private_key]).run(commands) + requires :identity, :ip_address, :username + + options = {} + options[:key_data] = [private_key] if private_key + Fog::SSH.new(ip_address, username, options).run(commands) end def start diff --git a/lib/fog/compute/models/bluebox/server.rb b/lib/fog/compute/models/bluebox/server.rb index 126926f50..d241f0e64 100644 --- a/lib/fog/compute/models/bluebox/server.rb +++ b/lib/fog/compute/models/bluebox/server.rb @@ -108,8 +108,11 @@ module Fog end def ssh(commands) - requires :identity, :ips, :private_key, :username - Fog::SSH.new(ips.first['address'], username, :key_data => [private_key]).run(commands) + requires :identity, :ips, :username + + options = {} + options[:key_data] = [private_key] if private_key + Fog::SSH.new(ips.first['address'], username, options).run(commands) end def username diff --git a/lib/fog/compute/models/rackspace/server.rb b/lib/fog/compute/models/rackspace/server.rb index 87f7959e1..1dacf4618 100644 --- a/lib/fog/compute/models/rackspace/server.rb +++ b/lib/fog/compute/models/rackspace/server.rb @@ -104,8 +104,11 @@ module Fog end def ssh(commands) - requires :addresses, :identity, :private_key, :username - Fog::SSH.new(addresses['public'].first, username, :key_data => [private_key]).run(commands) + requires :addresses, :identity, :username + + options = {} + options[:key_data] = [private_key] if private_key + Fog::SSH.new(addresses['public'].first, username, options).run(commands) end def username diff --git a/lib/fog/compute/models/slicehost/server.rb b/lib/fog/compute/models/slicehost/server.rb index b37c77555..07b4a4a79 100644 --- a/lib/fog/compute/models/slicehost/server.rb +++ b/lib/fog/compute/models/slicehost/server.rb @@ -94,8 +94,11 @@ module Fog end def ssh(commands) - requires :addresses, :identity, :private_key, :username - Fog::SSH.new(addresses.first, username, :key_data => [private_key]).run(commands) + requires :addresses, :identity, :username + + options = {} + options[:key_data] = [private_key] if private_key + Fog::SSH.new(addresses.first, username, options).run(commands) end def username