【问题标题】:Can't work properly with Gitosis无法与 Gitosis 一起正常工作
【发布时间】:2013-02-28 05:49:55
【问题描述】:

我请求帮助解决我在使用 Git 期间出现的一个奇怪错误。

我已经安装了 Gitosis。这是我的配置:

cat /root/gitosis-admin/gitosis.conf 
[gitosis]
loglevel = DEBUG

[group gitosis-admin]
writable = gitosis-admin
members = admin

[group sugar-dev]
writable = sugar-dev
members = eyablokov

所以我将一个 SSH 密钥“admin”用于管理 Gitosis。我还创建了“sugar-dev”回购并将另一个密钥指定为成员。 “admin”键在一台机器上,没关系。其次,“eyablokov”密钥是我另一台机器上的常用成员密钥。我计划仅将此密钥用作开发人员。

我已经通过正常方式配置并推送更改到 gitosis-admin repo。两个键都在 keydir/ 目录中,并且也被远程推送。

之后,在另一台存储“eyablokov”密钥的机器上,我创建了一个本地目录:mkdir ~/Projects/sugar-dev。输入:cd ~/Projects/sugar-dev。下一个:git init,之后:git remote add origin git@SERVER:sugar-dev.git。没关系。

在我尝试之后,例如,添加一些东西并提交并推送并出现问题:

echo 'Please, describe the project.' > DESCRIPTION
git add DESCRIPTION 
git commit -am "Added description file"

git push origin master 给我看

Pushing to git@SERVER:sugar-dev.git
fatal: cannot exec '/Users/gular/.ssh/eyablokov_dsa': Permission denied
fatal: unable to fork

我不知道该怎么办。 git 必须看到我的 eyablokov,而不是 eyablokov_dsa,密钥。 dsa 是我的另一个关键。我尝试过 chmod,尝试移动 .ssh/config 文件,其中 IdentityFile 指向 dsa 键。没有帮助。

【问题讨论】:

  • 现在我在等待另一个开发者。我想让他用他的密钥访问sugar-dev,看看会发生什么。我想会没事的。

标签: git ssh-keys gitosis


【解决方案1】:

当您使用基于 ssh 的 git 服务器时(例如 gitosis,或者更好的是 gitolite,因为 gitosis 已过时且不再维护),您需要一个 ~/.ssh/config 文件来指定确切的 ssh 密钥您要使用的文件名。
(在“users are asked for password while using gitolite”中也有说明)

在你的情况下:

Host eyablokov
    HostName SERVER 
    User git
    IdentityFile /Users/gular/.ssh/eyablokov

这允许您使用这种网址:

git clone eyablokov:sugar-dev.git

在 Windows 上,确保您使用的是 git-cmd.bat 实例(包含在 msysgit 中),它将正确设置您的 HOME 环境变量(Windows 默认情况下未设置)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-14
    • 2020-08-19
    • 2013-02-06
    • 2019-02-02
    • 2021-10-15
    • 2016-07-05
    • 2016-09-13
    • 2014-08-23
    相关资源
    最近更新 更多