gpt4 book ai didi

svn - 具有不同用户的 ssh-keygen 进行颠覆

转载 作者:行者123 更新时间:2023-12-04 14:37:46 25 4
gpt4 key购买 nike

我不知道如何在我的服务器上为其他用户创建公钥/私钥。在我的服务器上,我通过 shell 键入以下内容

(uiserver):john:> ssh-keygen -t dsa

之后,我输入文件名和密码,这成功生成了“john”的私钥和公钥对。现在,当我使用此 key ssh 进入我的 subversion 存储库(坐在 john 上)时,所有操作都记录为“john”。那很完美。

所以接下来,我想为“george”创建一个公钥/私钥对,这样他就可以访问我的服务器。我从我的服务器重复了 ssh-keygen。然后我把私钥给了乔治。 George 成功安装了 key ,但每次他在 svn 存储库中执行操作时,subversion 都会将他的操作记录为“john”而不是“george”。我如何让颠覆来识别“乔治”和“约翰”之间的区别?

我查看了authorized_keys2,发现两个键的最终注释都是“john@uiserver”。我尝试编辑评论,但颠覆仍然无法识别乔治和约翰之间的区别。

更多详情

根据 Juliano 的回答,我有一个半有效的解决方案。我去了“大卫”机器(linux),制作了prv/pub键,将pub键附加到john的authorized_keys2上。完美的! SVN 将 david 的更改记录为 david。

我去了“乔治”机器(windows xp),使用puttygen创建prv/pub key ,将pub key 附加到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 到我的颠覆密码文件

最佳答案

Then I gave the private key to George.



私钥被称为私有(private)是有原因的。他们绝不打算以这种方式转移。 George 应该在自己的用户环境中创建自己的 key 对。但这与您遇到的问题无关。键只是一个非常大的数字的主要因素(为了便于理解而过度简化)。用户身份不是 key 的一部分,而是附加在 key 上的“标签”,SSH 并没有大量使用。

根据您的描述,您要求 George 通过 SSH 登录到 John 的帐户。决定登录 SVN 操作的用户的因素与用于身份验证的 key 对没有任何关系,而是与真正登录的用户有关。

所以,乔治 必须有自己的账号登录SVN服务器,仓库 必须由两个帐户和 George 共享必须使用他自己的凭据登录服务器。

约翰的网址:svn+ssh://john@svn-server/path/to/repo

乔治的网址:svn+ssh://george@svn-server/path/to/repo

关于svn - 具有不同用户的 ssh-keygen 进行颠覆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/598005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com