我不知道如何在我的服务器上为其他用户创建公钥/私钥。在我的服务器上,我通过 shell 键入以下内容
(uiserver):john:> ssh-keygen -t dsa
之后,我输入文件名和密码,这成功生成了“john”的私钥和公钥对。现在,当我使用此密钥 ssh 进入我的 subversion 存储库(坐在 john 上)时,所有操作都记录为“john”。那很完美。
所以接下来,我想为“george”创建一个公钥/私钥对,这样他就可以访问我的服务器。我从我的服务器重复了 ssh-keygen。然后我把私钥给了乔治。George 成功安装了密钥,但每次他在 svn 存储库中执行操作时,subversion 都会将他的操作记录为“john”而不是“george”。我如何让颠覆来识别“乔治”和“约翰”之间的区别?
我查看了authorized_keys2,发现两个键的最终注释都是“john@uiserver”。我尝试编辑评论,但颠覆仍然无法识别乔治和约翰之间的区别。
附加细节
根据 Juliano 的回答,我有一个半有效的解决方案。我去了“大卫”机器(linux),制作了prv/pub键,将pub键附加到john的authorized_keys2上。完美的!SVN 将 david 的更改记录为 david。
我去了“乔治”机器(windows xp),使用puttygen创建prv/pub密钥,将pub密钥附加到john的authorized_keys2。George 可以访问 svn,但他的所有更改仍然记录为 john。一旦我弄清楚在 TortoiseSVN 中的何处配置它,我就会尝试 bojo 的隧道解决方案。
回答
我使用了bojo答案的选项2。最后,我需要做的就是将以下行添加到我的 authorized_keys2
command="svnserve -t --tunnel-user=george",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-dss <george's long public key> == meaningful comment
我还添加了行
george=george's password
到我的 /pathtorepository/conf/passwd 到我的颠覆密码文件