使用 gitosis 和 ssh 在 gentoo 服务器上设置 git 存储库

使用 gitosis 和 ssh 在 gentoo 服务器上设置 git 存储库

我按照此处所述安装了 git 和 gitosis本指南 以下是我采取的步骤:

服务器:Gentoo
客户:苹果操作系统

1)git安装

emerge dev-util/git

2)gitosis 安装

cd ~/src
git clone git://eagain.net/gitosis.git
cd gitosis
python setup.py install

3)添加git用户

adduser --system --shell /bin/sh --comment 'git version control' --no-user-group --home-dir /home/git git

现在/etc/shadow

git:!:14665::::::

4)在本地计算机(Mac OS X)上(本地登录是ipx,服务器登录是专家

ssh-keygen -t dsa

有 2 个文件:

~/.ssh/id_dsa.pub
~/.ssh/id_dsa

5)复制id_dsa.pub到服务器

~/.ssh/id_dsa.pub

将文件内容添加~/.ssh/id_dsa.pub到文件中~/.ssh/authorized_keys

cp ~/.ssh/id_dsa.pub /tmp/id_dsa.pub
sudo -H -u git gitosis-init < /tmp/id_rsa.pub
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

6) 添加了 2 个参数/etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes

满的sshd_config

Protocol 2
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no
UsePAM yes
PrintMotd no
PrintLastLog no
Subsystem   sftp   /usr/lib64/misc/sftp-server

7)文件中的本地设置~/.ssh/config

Host myserver.com.ua
User expert
Port 22
IdentityFile ~/.ssh/id_dsa

8)已测试:

ssh [email protected]

完毕!

9)下一步。我遇到了问题

git clone [email protected]:gitosis-admin.git
cd gitosis-admin

SSH 要求输入用户密码git. 为什么 ssh 应该允许我以用户身份登录git? 这git用户没有密码。我创建的 ssh 密钥是为用户创建的专家. 这应该如何工作?

我必须添加一些参数吗sshd_config

答案1

作为对将来发现此问题的任何人的通知,我想指出,gitosis 已被大多数 git 社区宣布为已弃用,并且似乎已被其作者抛弃。

吉托莱特已成为它的继任者,并一致认为其在各个方面都更胜一筹,最重要的是易用性、故障排除和调试。

答案2

看起来您错过了指南中的几个步骤。设置 ssh 密钥后,它显示:

接下来,我们将运行一个命令,该命令将给 git 用户的主目录带来一些魔力,并将您的公共 SSH 密钥放入授权密钥列表中。

sudo -H -u git gitosis-init < /tmp/id_rsa.pub

和...

为了保险起见,我们来确保更新后钩子设置为可执行。我见过它有时没有被设置(旧安装工具的问题):

sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

然后你需要执行你遇到问题的步骤:

git clone git@YOUR_SERVER_HOSTNAME:gitosis-admin.git
cd gitosis-admin

答案3

在步骤 5 中,您不需要自己将密钥添加到 ~/.ssh/authorized_keys 文件中...gitosis-init 会为您完成该操作。

在您的客户端,在 ~/.ssh/config 文件中,设置应该是:

Host myserver.com.ua
User git
Port 22
IdentityFile ~/.ssh/id_dsa

因为您希望服务器上的 git 用户实现无密码登录。

相关内容