We've run into this issue while creating nodes for HP Cloud
(OpenStack). While the nodes were successfully being created, deploy
node would fail, with an error "Bad authentication type
(allowed_types=['publickey'])". After digging more into this, it turns
that libcloud ssh (libcloud/compute/ssh.py) tries to ssh with password,
despite the fact that we specify ssh key on deploy_node.


libcloud/compute/ssh.py 

 def connect(self):
 ...

 if
self.password:
 conninfo['password'] = self.password
 elif self.key:

conninfo['key_filename'] = self.key
 else:
 conninfo['allow_agent'] =
True
 conninfo['look_for_keys'] = True

So seems that passwords have a
priority. I'd like to know if there's a reason for this, because we had
to change it and give priority to keys (HP Cloud does not allow
passwords, so it fails to connect and deploy the node). After we change
the above code and allow it to try with ssh keys, deploy node completes
without issues! 

Cheers 
 

Reply via email to