旧密钥的svn + ssh连接

时间:2011-06-25 14:19:12

标签: linux putty openssh

我最近在Windows ssh密钥中创建了 - 所以我有.ppk文件。将它转换为openssh。 在Windows中,我一直在使用toantise与pageant连接到svn + ssh服务器。现在我想切换到linux。如何使用此密钥.ppk或opessh文件连接到svn + ssh。我想使用PagaVCS或RabbitVCS,但它一直问我登录和密码,显然我没有,因为我只有这个openssh或.ppk文件。任何人都可以帮忙??

3 个答案:

答案 0 :(得分:3)

使用puttygen将密钥转换为openssh格式。例如,这里描述:http://leadingedgescripts.co.uk/server-administration/how-to-convert-your-putty-ppk-private-key-to-a-normal-ssh-key-you-can-use-on-an-apple-mac/

不幸的是没有兔子或其他人的经验。在* nix环境中,我将创建$ HOME / .ssh / config并编写类似的内容:

Host host
User user
IdentityFile /path/to/your/key

然后使用svn + ssh:// host / directory(ssh然后从.ssh / config文件获取配置信息)。也许可以用其中一个VCS做点什么?

作为最后一个(或者我的第一个)度假村我会使用cygwin或mingw并在那里配置ssh访问 - 然后配置工具以使用来自这些包的ssh。

答案 1 :(得分:1)

Puttygen导出私有密钥DES编码,导致某些软件(例如Ubuntu上的OpenSSH)默默地忽略密钥并提示输入密码。

要在linux OpenSSH中使用PuTTY .ppk键,首先导出密钥:

  1. 启动puttygen
  2. 文件 - > Loadprivate密钥
  3. 转化次数 - >导出OpenSSH密钥(在此示例中为 private.key
  4. 现在,在linux机器上,使用密码更改命令重新加密密钥:

    ssh-keygen -pf private.key
    

    输入相同的密码短语3次(旧的,新的,新的)实际上不会改变它。

    现在,您可以查看DEK-Info:DES-EDE3-CBC,F1785C4B846C781F更改为AES-128-CBC,916627D6328608175FA4545928372EA3的密钥文件。

    客户端应用程序不应再向您提供密码了。

答案 2 :(得分:0)

我确信这个问题的答案是在线,但我似乎无法在任何地方找到它,所以这里是从开始到结束,包括你说你已经完成的转换:

  1. 在Windows上打开puttygen。
  2. 如果需要,使用密码加载您的私钥(name.ppk)。
  3. 转到'转化' - > '导出OpenSSH密钥'并保存为(我假设你称之为'fileName')。
  4. 将此密钥复制到Linux上的主目录中。
  5. 打开一个终端并使用命令'mv fileName .ssh /'将其移动到.ssh目录(〜/ .ssh隐藏在gui中,但它就在那里)。
  6. 使用'cd .ssh'
  7. 导航到.ssh目录
  8. 使用命令'cat fileName>将文件捕获到名为id_rsa的新文件中id_rsa”。
  9. 使用命令'chmod 600 id_rsa'将id_rsa的权限更改为600。
  10. 最后确保.ssh目录的权限设置为700'cd ..'以放置到主目录,然后'chmod 700 .ssh'设置权限。
  11. 这应该这样做。

    必须有更好的信息,但这个链接有一些你可能会觉得有趣的内容,特别是有关许可的内容http://www.lamolabs.org/blog/6241/one-liner-working-with-ssh-keygen-ssh-key-pair-files/