ssh key passphrase works in windows but not in linux

时光毁灭记忆、已成空白 提交于 2019-12-03 05:33:49

问题


I'm working to a project in git. In Windows, I'm using git extensions to manage this project, and to access to the public repository they gave me a .ppk key. I load it into git extension, with the passphrase that they gave me, and it works.

Now I set a linux (ubuntu-32bit) virtual machine, and I want to access also from this machine to the repository.

From another thread that I've seen in this site, I use, to clone the repository, the following command:

ssh-agent bash -c 'ssh-add /home/myHome/mykey.ppk; git clone git@serveraddress:project.git'

Then, the shell tells me to insert the passphrase

Enter passphrase for /home/myHome/mykey.ppk:

But when I insert it, it tells me that's a bad passphrase. I've checked it a lot of times, and I'm sure that I use the same passphrase that I use in windows. So how can I use correctly the key in Linux?

Thanks in advance for your replies.


回答1:


The Linux SSH client (typically OpenSSH) can't read the PPK format used by the Windows SSH client Putty. You need to convert the "PPK" key given to you into an OpenSSH key first. Install "putty" on Linux and use the puttygen command line tool:

$ sudo aptitude install putty
$ mkdir -p ~/.ssh
$ puttygen ~/mykey.ppk -o ~/.ssh/id_rsa -O private-openssh

Enter your passphrase, and you'll get an OpenSSH-compatible key in the standard location ~/.ssh/id_rsa. Afterwards you can just use ssh-add(without any arguments!) to add this key to the SSH agent.

Alternatively you can use the PUTTYgen program provided by putty on Windows.



来源:https://stackoverflow.com/questions/9631246/ssh-key-passphrase-works-in-windows-but-not-in-linux

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!