本文记录在 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
相关文档: