我正在使用git工作。 在Windows中,我使用git扩展来管理这个项目,并且为了访问公共存储库,他们给了我一个.ppk密钥。我把它加载到git扩展中,带有他们给我的密码,然后就可以了。
现在我设置了一个linux(ubuntu-32bit)虚拟机,我也希望从这台机器访问存储库。
从我在本网站上看到的另一个帖子中,我使用以下命令来克隆存储库:
ssh-agent bash -c 'ssh-add /home/myHome/mykey.ppk; git clone git@serveraddress:project.git'
然后,shell告诉我插入密码短语
Enter passphrase for /home/myHome/mykey.ppk:
但是当我插入它时,它告诉我这是一个糟糕的密码短语。我已经检查了很多次,我确信我使用的是与Windows中使用的密码相同的密码。那么如何正确使用Linux中的密钥呢?
提前感谢您的回复。
答案 0 :(得分:59)
Linux SSH客户端(通常是OpenSSH)无法读取Windows SSH客户端Putty使用的PPK格式。你需要转换" PPK"首先将密钥提供给OpenSSH密钥。安装" putty"在Linux上并使用puttygen
命令行工具:
$ sudo aptitude install putty
$ mkdir -p ~/.ssh
$ puttygen ~/mykey.ppk -o ~/.ssh/id_rsa -O private-openssh
输入您的密码,您将在标准位置~/.ssh/id_rsa
获得与OpenSSH兼容的密钥。之后,您可以使用ssh-add
(不带任何参数!)将此密钥添加到SSH代理。
或者,您可以在Windows上使用putty提供的PUTTYgen程序。