git 搭建后客户端连接注意事项

本文记录在 git 环境配置成功后,客户端连接时遇到的问题。

1、确定是否安装 git

whereis git
# git: /usr/bin/git /usr/share/man/man1/git.1.gz

# 或者
git --version
# git version 1.8.3.1

如果未安装,请参见: Git 服务器搭建

2、密钥问题
在客户端创建密钥

ssh-keygen -t rsa -C "your_email"

也可以通过 -f 参数另存。

ssh-keygen -t rsa -C "your_email" -f ~/test

完成后,会产生:id_rsa对应私钥,id_rsa.pub对应公钥。

请将 id_rsa.pub(公钥)内容,复制到服务器上,/home/git/.ssh/authorized_keys 文件中(一行一个)。

3、客户端克隆问题
a,

git clone git@your_gitServer_ip:/home/gitrepo/sample.git

该方式要求对外开放 22端口。

b,

git clone ssh://git@your_gitServer_ip:22/home/gitrepo/sample.git

该方式使用自定义 22端口。

要特别注意的是,后面git 仓库路径,要求完整填写

4、新增的 git 用户,禁止登录
vi /etc/passwd
要设置 /bin/git-shell,即禁止登录

如果设置为 /sbin/nologin ,将造成 无法克隆。
如果设置为 /bin/bash ,将允许登录shell。

5、初始化仓库

git init --bare sample.git

把仓库所属用户改为 git

chown -R git:git sample.git

相关文档: