Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ssh key passphrase works in windows but not in linux

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.

like image 549
Jepessen Avatar asked Mar 09 '12 08:03

Jepessen


People also ask

Why does SSH keep asking for passphrase?

There may be times in which you don't want the passphrase stored in the keychain, but don't want to have to enter the passphrase over and over again. This will ask you for the passphrase, enter it and it will not ask again until you restart.

Are SSH keys protected with a passphrase?

SSH uses private/public key pairs to protect your communication with the server. SSH passphrases protect your private key from being used by someone who doesn't know the passphrase. Without a passphrase, anyone who gains access to your computer has the potential to copy your private key.


1 Answers

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.

like image 91
lunaryorn Avatar answered Sep 22 '22 11:09

lunaryorn