diff --git a/builder/amazon/common/ssh.go b/builder/amazon/common/ssh.go index da7f74ffb..6c38ad97c 100644 --- a/builder/amazon/common/ssh.go +++ b/builder/amazon/common/ssh.go @@ -34,7 +34,7 @@ func SSHHost(e ec2Describer, private bool) func(multistep.StateBag) (string, err } else if i.PrivateIpAddress != nil && *i.PrivateIpAddress != "" { host = *i.PrivateIpAddress } - } else if private { + } else if private && i.PrivateIpAddress != nil && *i.PrivateIpAddress != "" { host = *i.PrivateIpAddress } else if i.PublicDnsName != nil && *i.PublicDnsName != "" { host = *i.PublicDnsName diff --git a/builder/amazon/common/ssh_test.go b/builder/amazon/common/ssh_test.go index 4d2583e6f..9f1d4a53e 100644 --- a/builder/amazon/common/ssh_test.go +++ b/builder/amazon/common/ssh_test.go @@ -28,11 +28,11 @@ func TestSSHHost(t *testing.T) { wantHost string }{ {1, "", false, true, publicDNS}, - {1, "", true, true, publicDNS}, + {1, "", true, true, privateIP}, {1, "vpc-id", false, true, publicIP}, {1, "vpc-id", true, true, privateIP}, {2, "", false, true, publicDNS}, - {2, "", true, true, publicDNS}, + {2, "", true, true, privateIP}, {2, "vpc-id", false, true, publicIP}, {2, "vpc-id", true, true, privateIP}, {3, "", false, false, ""},