server

1.首先安装git

yum install git

2.新建一个linux用户,起名为git

adduser git

3.在git用户目录中新建目录 .ssh

cd /home/git/
mkdir .ssh

4.在/home/git/.ssh/目录中新建authorized_keys文件,并将客户端提供的公钥(id_rsa.pub)黏贴到该文件中 touch authorized_keys 或 vi authorized_keys

5.在项目目录创建一个git裸仓库,假如当前项目目录为/home/git/project.git git init –bare project.git

6.将项目目录和git用户目录下的.ssh目录的所有者和所属组都设置成git

chown -R git.git project.git  
chown -R git.git /home/git/.ssh/

7.为了安全考虑,禁用git用户的shell登录

vi /etc/passwd
注释 ##git:x:500:500::/home/git:/bin/bash 
改为 git:x:500:500:git version control:/home/git:/usr/bin/git-shell

8.git服务器打开RSA认证

vi /etc/ssh/sshd_config
下面3个打开
 1.RSAAuthentication yes     
 2.PubkeyAuthentication yes     
 3.AuthorizedKeysFile  .ssh/authorized_keys

client

1.生成公钥,并复制到剪切板

ssh-keygen -t rsa
pbcopy < ~/.ssh/id_rsa.pub

此步骤要将公钥发给git服务器管理员

2.在本地新建git仓库

git init

3.新建一个文件并推送到服务器

touch readme.txt
git add readme.txt
git commit -m "readme"
git remote add origin git@xxx.xxx.xxx.xxx:/home/git/project.git
git push origin master

注:如果提示需要密码,请检测公钥是否配置成功或RSA是否开启。