电子邮件作为Git SSH用户

时间:2012-06-16 20:12:04

标签: git ssh gitosis

我在一个项目中,来自LDAP服务器的所有用户都只有电子邮件作为唯一标识符。我需要让用户从Linux服务器上的远程主目录中克隆他们的项目。所以我正在考虑使用SSH协议进行GIT身份验证和授权。

但是我在使用Eclipse EGit插件时遇到了问题,因为git clone命令看起来像这样:

git clone jhon.smith@emailserver@reposerver:pathtosomeproject

Eclipse尝试通过转义@:

来帮助
git clone jhon.smith%40emailserver@reposerver:pathtosomeproject

但是这不起作用,它显示了身份验证错误。 我所做的是在电子邮件中添加一个'。

git clone 'jhon.smith@emailserver'@reposerver:pathtosomeproject

这很好用,但是当Eclipse尝试在下一页中列出所有带有ls-remote的分支时,它表示无法显示消息错误。

我的问题是,是否有人已经体验过这一要求并且有另一种解决方案?

我不知道Gitosis是否会对此有所帮助,因为环境不会有组,只有用户将其项目放在其主文件夹中,并使用Eclipse EGit来克隆和推送项目。

由于

1 个答案:

答案 0 :(得分:0)

首先,gitosis is obsolete, use Gitolite

其次,ssh地址用于Git repo服务器的管理员帐户(例如“gitadmin”)以检查一个人的公钥是否在~gitadmin/.ssh/authorized_keys中。

当你使用像“jhon.smith @ emailserver @reposerver:pathtosomeproject”这样的ssh地址时,你要求reposerver SSH守护进程检查~jhon.smith@emailserver/.ssh/authorized_keys,这没有意义(你有一个 Git管理员帐户,而不是每个用户一个!我怀疑你会在unix服务器上找到用户ID名称“jhon.smith@emailserver

Gitolite有助于形成每个用户可以通信的公钥。阅读“adding and removing users”和“ssh basis” 从Gitolite服务器查看时,该公钥的名称将代表其“id” (所以不要像jhon.smith@emailserver那样使用复杂的公共ssh密钥!jhon.smith_emailserverjhon.smith_emailserver.pub会很好,例如)

相关问题