2008-10-10 79 views
24

我必须检查一些代码并运行它。我有网址:如何使用公钥/私钥对获得SVN签出?

svn+ssh://[email protected]/home/svn/project/trunk 

我有一个带有私钥的文件。我该如何获取此代码?

+0

你在什么操作系统上? – Neall 2008-10-10 16:28:53

+0

本地Mac OS X Leopard,但这实际上应该放在RH ES4盒子上。 – 2008-10-10 17:16:17

+1

我也收到“-bash:svn + ssh:// ...等等等等没有这样的文件或目录”,尽管我安装了svn和ssh并且一直都在使用它们。我可以使用Subclipse插件(我也使用很多)来做到这一点吗? – 2008-10-10 17:18:26

回答

3

私钥放在客户机上,通常命名为~/.ssh/id_rsa,~/.ssh/id_dsa~/.ssh/identity,具体取决于SSH版本和密钥类型。但是,您可以使用ssh -i path/to/private.key

这假定相应的公钥存在于服务器的~/.ssh/authorized_keys中,并且您的本地计算机正在运行OpenSSH客户端。如果您在Windows上使用PuTTY,只需打开Pageant程序,然后通过GUI导入密钥。

1

添加私钥您~/.ssh/文件夹,然后运行ssh-agent $SHELL; ssh-add;,然后该URL的svn co应该工作。

+0

您的私钥_do不会进入〜/ .ssh/config。 – ephemient 2008-10-10 20:12:17

13

该条目添加到您的〜/ .ssh/config file:

Host YOUR_SERVER 
IdentityFile YOUR_PRIVATE_KEY_PATH # (ex: ~/.ssh/rsa) 
User USER_NAME 

对于更多选项,see the ssh_config man page

0

这里是我用来通过SVN + SSH从Mac OS X的命令行连接到我的服务器的步骤:

在服务器:

ssh-keygen -b 1024 -t dsa -f mykey (creates mykey and mkey.pub files) 

复制内容mykey.pub到的〜/ .ssh/authorized_keys文件(创建authorized_keys文件,如果不存在的话)

下载MKEY到本地机器上并运行:

从你的svn服务器
chmod 600 mkey (the next step won't run otherwise) 
svn-add mkey (enter your passphrase) 

结账使用ssh:

svn co svn+ssh://[email protected]/repos/path 

删除MKEY和mkey.pub从服务器

8

只是使用ssh-add命令(它会询问您的密码,这是您创建此公用密钥对时使用的密码)。

ssh-add PATH_TO_YOUR_PRIVATE_JEY 
e.g. ssh-add ~/.ssh/myPrivateKey.key 

验证您做这个

ssh-add -l 

,将列出所有身份的文件,那么使用正确添加的关键。

2

除了解答Eclipse 3.7带Subversive的两个屏幕截图。


General settings
输入用户名!(我在拍摄屏幕前已经忘记了这一点)。做不是输入密码。


SSH Settings 如果你的私钥是密码保护输入密钥密码。


一张图片胜过千言万语。