Reply
Contributor
Posts: 38
Registered: ‎01-05-2015
Accepted Solution

Authentication with ssh private key ( No provider available)

Hello,

 

in order to install a cluster using the CM-Wizard with the private key method i get the following error message:

 

 No provider available for Unknown key file

 

I used a custom user and select the respective .ppk file.

If i logged in via ssh from a remote machine with the same credentials, it works.

 

Do you have any ideas or solution?

 

Thanks and Regards,

 butkiz

Highlighted
Cloudera Employee
Posts: 578
Registered: ‎01-20-2014

Re: Authentication with ssh private key ( No provider available)

ppk refers to Putty's custom format. You should use the key format used by
OpenSSH. there are tools to convert between these two formats.
Alternatively, you can use the ssh-keygen tool to create a fresh pair of
keys

Regards,
Gautam Gopalakrishnan
Explorer
Posts: 7
Registered: ‎04-03-2015

Re: Authentication with ssh private key ( No provider available)

[ Edited ]

Hi Gautam

 

I am using a pem file but still getting the same error.

I also tried to create a open-ssh supported format by using

ssh-keygen -f my.pem -y > my.pub

Could you please help with the correct format that should be used.

 

Regards,

Harman

New Contributor
Posts: 1
Registered: ‎10-19-2015

Re: Authentication with ssh private key ( No provider available)

[ Edited ]

I am also facing the same problem, m trying to do this in docker containers. I also tried giving private key (id_rsa) but then my browser goes to a freezed state (Pic given below).problem1.png

It would be really helpful if any one could provide pointers.

Explorer
Posts: 20
Registered: ‎04-14-2015

Re: Authentication with ssh private key ( No provider available)

I'm experiencing this error as well when using the python CM API and calling the host_install command while providing the id_rsa key from the server I'm invoking the python script from.  I tried copying the id_rsa file to the CM server /root/.ssh directory as well, but that didn't help.  Where should the private key be located when referencing from the host_install command in the python CM API?

Explorer
Posts: 20
Registered: ‎04-14-2015

Re: Authentication with ssh private key ( No provider available)

It looks like I solved the issue - it seems the python CM API has now been changed for the host_install command. Before it was taking a file name as the private key and is now expecting it to be a string variable
Explorer
Posts: 15
Registered: ‎09-10-2014

Re: Authentication with ssh private key ( No provider available)

TylerHale - can you expand pls on how you passed in the private key?

I have tried:
cmd = cm.host_install(host_username, host_list, private_key="/home/ec2-user/.ssh/id_rsa", cm_repo_url=cm_repo_url)

I have also tried passing the private key as a string variable. i,e:
cmd = cm.host_install(host_username, host_list, private_key="--begin rsa--.............--end-rsa key--", cm_repo_url=cm_repo_url)

thanks
Explorer
Posts: 20
Registered: ‎04-14-2015

Re: Authentication with ssh private key ( No provider available)

bulmanp - The private_key parameter should be the contents of the private key file (in your case, the 2nd option should have worked).  Here is the working code I use :

 

f = open("/root/.ssh/id_rsa", "r")
id_rsa = f.read()
#print id_rsa
f.close()

#passwordless certificate login
apicommand = cm.host_install(user_name="root",
private_key=id_rsa,
host_names=hostIds,
cm_repo_url=cm_repo_url,
java_install_strategy="NONE",
unlimited_jce=True).wait()

  

Announcements