diff --git a/builder/azure/common/template/template_builder.go b/builder/azure/common/template/template_builder.go index 9c2e02d32..3974511a3 100644 --- a/builder/azure/common/template/template_builder.go +++ b/builder/azure/common/template/template_builder.go @@ -43,7 +43,7 @@ func NewTemplateBuilder(template string) (*TemplateBuilder, error) { }, nil } -func (s *TemplateBuilder) BuildLinux(sshAuthorizedKey string) error { +func (s *TemplateBuilder) BuildLinux(sshAuthorizedKey string, disablePasswordAuthentication bool) error { resource, err := s.getResourceByType(resourceVirtualMachine) if err != nil { return err @@ -61,6 +61,11 @@ func (s *TemplateBuilder) BuildLinux(sshAuthorizedKey string) error { }, } + if disablePasswordAuthentication { + profile.LinuxConfiguration.DisablePasswordAuthentication = to.BoolPtr(true) + profile.AdminPassword = nil + } + s.osType = compute.Linux return nil } diff --git a/builder/azure/common/template/template_builder_test.TestBuildLinux00.approved.json b/builder/azure/common/template/template_builder_test.TestBuildLinux00.approved.json index de63373bb..403de815c 100644 --- a/builder/azure/common/template/template_builder_test.TestBuildLinux00.approved.json +++ b/builder/azure/common/template/template_builder_test.TestBuildLinux00.approved.json @@ -126,10 +126,10 @@ ] }, "osProfile": { - "adminPassword": "[parameters('adminPassword')]", "adminUsername": "[parameters('adminUsername')]", "computerName": "[parameters('vmName')]", "linuxConfiguration": { + "disablePasswordAuthentication": true, "ssh": { "publicKeys": [ { diff --git a/builder/azure/common/template/template_builder_test.TestBuildLinux02.approved.json b/builder/azure/common/template/template_builder_test.TestBuildLinux02.approved.json index f7f3bed74..fc1441816 100644 --- a/builder/azure/common/template/template_builder_test.TestBuildLinux02.approved.json +++ b/builder/azure/common/template/template_builder_test.TestBuildLinux02.approved.json @@ -87,10 +87,10 @@ ] }, "osProfile": { - "adminPassword": "[parameters('adminPassword')]", "adminUsername": "[parameters('adminUsername')]", "computerName": "[parameters('vmName')]", "linuxConfiguration": { + "disablePasswordAuthentication": true, "ssh": { "publicKeys": [ { diff --git a/builder/azure/common/template/template_builder_test.TestSetIdentity00.approved.json b/builder/azure/common/template/template_builder_test.TestSetIdentity00.approved.json index a182d7e8f..606ebadba 100644 --- a/builder/azure/common/template/template_builder_test.TestSetIdentity00.approved.json +++ b/builder/azure/common/template/template_builder_test.TestSetIdentity00.approved.json @@ -132,10 +132,10 @@ ] }, "osProfile": { - "adminPassword": "[parameters('adminPassword')]", "adminUsername": "[parameters('adminUsername')]", "computerName": "[parameters('vmName')]", "linuxConfiguration": { + "disablePasswordAuthentication": true, "ssh": { "publicKeys": [ { diff --git a/builder/azure/common/template/template_builder_test.go b/builder/azure/common/template/template_builder_test.go index 2532bcc06..386f13ef4 100644 --- a/builder/azure/common/template/template_builder_test.go +++ b/builder/azure/common/template/template_builder_test.go @@ -15,7 +15,7 @@ func TestBuildLinux00(t *testing.T) { t.Fatal(err) } - err = testSubject.BuildLinux("--test-ssh-authorized-key--") + err = testSubject.BuildLinux("--test-ssh-authorized-key--", true) if err != nil { t.Fatal(err) } @@ -43,7 +43,7 @@ func TestBuildLinux01(t *testing.T) { t.Fatal(err) } - err = testSubject.BuildLinux("--test-ssh-authorized-key--") + err = testSubject.BuildLinux("--test-ssh-authorized-key--", false) if err != nil { t.Fatal(err) } @@ -71,7 +71,7 @@ func TestBuildLinux02(t *testing.T) { t.Fatal(err) } - testSubject.BuildLinux("--test-ssh-authorized-key--") + testSubject.BuildLinux("--test-ssh-authorized-key--", true) testSubject.SetImageUrl("http://azure/custom.vhd", compute.Linux, compute.CachingTypesReadWrite) testSubject.SetOSDiskSizeGB(100) @@ -189,7 +189,7 @@ func TestSharedImageGallery00(t *testing.T) { t.Fatal(err) } - err = testSubject.BuildLinux("--test-ssh-authorized-key--") + err = testSubject.BuildLinux("--test-ssh-authorized-key--", false) if err != nil { t.Fatal(err) } @@ -218,7 +218,7 @@ func TestNetworkSecurityGroup00(t *testing.T) { t.Fatal(err) } - err = testSubject.BuildLinux("--test-ssh-authorized-key--") + err = testSubject.BuildLinux("--test-ssh-authorized-key--", false) if err != nil { t.Fatal(err) } @@ -251,7 +251,7 @@ func TestSetIdentity00(t *testing.T) { t.Fatal(err) } - if err = testSubject.BuildLinux("--test-ssh-authorized-key--"); err != nil { + if err = testSubject.BuildLinux("--test-ssh-authorized-key--", true); err != nil { t.Fatal(err) }