我正在尝试在 Ubuntu 服务器 LTS 14 x64 上安装 Gitolite3,使用git 文档。
首先我创建了一个名为的用户git
:
sudo adduser \
--system --shell /bin/bash --gecos\
'Git SCM' --group --disabled-password git
Adding system user `git' (UID 120) ...
Adding new group `git' (GID 129) ...
Adding new user `git' (UID 120) with group `git' ...
Creating home directory `/home/git' ...
然后我生成了密钥:
wdd@ubuntu-server:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/wdd/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/wdd/.ssh/id_rsa.
Your public key has been saved in /home/wdd/.ssh/id_rsa.pub.
The key fingerprint is:
24:76:b9:d1:15:63:71:00:5b:73:96:29:e2:be:4d:63 wdd@ubuntu-server
The key's randomart image is:
+--[ RSA 2048]----+
| ..X++o |
| o.=.*o |
| o =.o. . |
| . + o. |
| S. |
| . E |
| = . |
| . . |
| |
+-----------------+
然后执行以下命令:
$ git clone git://github.com/sitaramc/gitolite
$ gitolite/install -ln
# assumes $HOME/bin exists and is in your $PATH
$ gitolite setup -pk $HOME/.ssh/auhtroized_keys
而且这个应该是gitolite的默认设置就可以了。
因此我进入我的 Windows 客户端机器并想gitolite-admin
通过以下方式克隆 repo:
git clone git@gitserver:gitolite-admin
但它要求我输入密码,
wdd@MUSAHAIDARI-PC /c/Users/wdd
$ git clone git@gitserver:gitolite-admin
Cloning into 'gitolite-admin'...
git@gitserver's password:
这里我认为我们不应该被要求输入密码,如果是这样,密码是什么?因为我没有设置任何密码。
需要说明的是,我可以从我的 PC 通过 SSH 连接 Linux 服务器,无需密码
答案1
我找到了问题的解决方案。似乎 git 找不到用于登录的私钥,因此我创建了~/.ssh/config
包含以下内容的文件:
Host gitbox
User git
Hostname 192.168.0.103
Port 22
IdentityFile ~/.ssh/gitolite
当然你需要更改凭证。然后gitbox
用于登录凭证。
git clone gitbox:gitolite-admin
问题已解决。另外请记住,对于每个新用户,都会在此文件中创建一个新条目来链接关键文件。