一、安装最新版git
(1)安装依赖包
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel # yum install gcc perl-ExtUtils-MakeMaker
(2)卸载旧的git版本
# yum remove git
(3)查看最新git版本号
登录https://www.kernel.org/pub/software/scm/git/
当前最新版为2.9.0
(4)下载&解压
# cd /usr/src # wget https://www.kernel.org/pub/software/scm/git/git-2.9.0.tar.gz # tar -zxvf git-2.9.0.tar.gz
(5)编译安装
# cd git-2.9.0 # make prefix=/usr/local/git all # make prefix=/usr/local/git install # echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc # source /etc/bashrc
(6)检查git版本
# git --versiongit version 2.9.0
二、配置SSH免密码登录
(1)创建一个git用户,用来运行git服务
# adduser git
(2)初始化git仓库,这里我们选择创建在/data/git/目录下
# cd / # mkdir /data # cd data # mkdir /git # cd git # git init --bare XXXXX.git
(3)owner改为git
# chown git:git XXXXX.git
(4)将RSA认证打开
a:
# vim /etc/ssh/sshd_config
b:对应内容修改如下
1.RSAAuthentication yes 2.PubkeyAuthentication yes 3.AuthorizedKeysFile .ssh/authorized_keys
(5)客户端创建秘钥及公钥,这里使用的是TortoiseGit自带的PuTTYgen
a:点击Generate,并不停晃动鼠标,直到Key生成完毕
b:点击Save private key,保存秘钥到本地,记住该位置
c:不要关闭窗口。稍后需要将Key红框窗口内的内容,粘贴至git服务器的authorized_keys中。
注意,公钥的内容是此处窗口的内容,不是Save public key后生成文件中的内容
(6)git服务器上创建及配置authorized_keys
a:authorized_keys的位置,网上很多介绍的文章,没有说清楚,导致配置失败(登陆后还是需要输入密码)。authorized_keys的位置是在:如果你创建了用户username,那该文件应该创建在/home/username/.ssh/authorized_keys;如果你使用的是root用户,该文件应该创建在~/.ssh/authorized_keys(即root/.ssh/authorized_keys)。
本例创建了git用户
b:创建authorized_keys文件
# cd /home/git # mkdir .ssh # vim authorized_keys
按“i”键,将刚才PuTTYgen红色窗口中生成的全部内容,赞贴进来。
按“ESC”键,输入“:wq”保存退出。
(7)设置权限
# chmod 700 /home # chmod 700 /home/git # chmod 700 /home/git/.ssh # chmod 600 /home/git/.ssh/authorized_keys # chown git /home # chown git /home/git # chown git /home/git/.ssh # chown git /home/git/.ssh/authorized_keys
(8)测试
a:在客户端使用TortoiseGit连接测试,如果不用输入密码,则配置成功
b:如果不成功,可以在git服务器上,使用/usr/sbin/sshd -d 监控客户端ssh连接情况,查找出错原因