Question

Launching Blueprint: authentication by password failed

  • 17 July 2020
  • 1 reply
  • 2156 views

Hi everyone! i created a blueprint of a centOS machine that installs docker, things were fine and it worked.
now i published the blueprint in the marketplace and used it to create an application, it doesn't work anymore and it gives me the following error:

Nutanix calm script execution has failed with error authentication by password failed. please refer kb-6098 for possible failure reasons.

Notes :

_ the blueprint sets the parameter PasswordAuthentication to yes in the /etc/ssh/sshd_config  file using cloud init, this works fine.


My question is : why i get this error and why the blueprint doesn't work as before after publishing it in the marketplace.

Thank you in advance.


1 reply

Userlevel 6
Badge +5

Hi there!

 

The KB article lists three scenarios for password-based authentication. You ruled out one of them. What about the other two?

Issue 1: Incorrect username in the credential or the user does not exist on the deployed VM

Ensure that the username is correctly configured in the credential and the username exists in the deployed VM. There are some caveats in the username. Most Linux-based Marketplace blueprints on Nutanix/vCenter providers use CentOS cloud image, which comes by default with CentOS user.

Does the user exist on the VM?

Are there any scripts running?

Issue 2: Incorrect Credentials when Guest customization scripts are running and you try to launch the application

When you use sysprep or cloud-init scripts to change credentials on a VM and try to deploy the application, you might get the invalid credential error message.

You might get an invalid credential error message when you run the following types of scripts to change credentials on a Windows VM.

  • Sysprep scripts
  • Cloud-init scripts
  • Guest customization scripts

Solution: Increase the delay time under connection section when you configure a blueprint and try to create the application. The increased delay time ensures that all the scripts are run and completed before the application is created.

 

Reply