Linux环境下搭建git服务器和TortoiseGit客户端 ssh key测试

1、git的安装

环境

服务器:CentOS 6.9 + Git 2.9.2
客户端:win10 + TortoiseGit 2.6.0.0

安装git

cd /usr/local    #跳转到下载安装目录 
wget https://github.com/git/git/archive/v2.9.2.tar.gz 
tar -zxvf v2.9.2.tar.gz  #解压文件
cd git-2.9.2
mkdir /usr/local/git
make prefix=/usr/local/git all   #编译,此处可能会报错,报错原因是依赖包没有安装导致的
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-MakeMaker    #安装依赖包
make  prefix=/usr/local/git install   #安装

创建软连接

ln -s /usr/local/git/bin/git /usr/bin/git   #由于git没有安装到默认目录,如果不创建软连接,可能导致同步,拉取错误
git --version #查看版本

2、用户和.ssh目录创建

useradd git
cd /home/git/
mkdir .ssh #新建文件夹
chmod 700 .ssh 
touch .ssh/authorized_keys  #新建文件
chmod 600 .ssh/authorized_keys

3、本地创建公钥私钥

  1. 打开TortoiseGit客户端工具 PuTTYgen,选择type key选择RSA类型,点击Generate按钮并同时不停在工具范围内晃动鼠标,增加随机性,最后会生成如下的所示的keys file。完全拷贝图中所示keys file的内容。 Linux环境下搭建git服务器和TortoiseGit客户端 ssh key测试
  2. 点击Save pricate key按钮,保存本地秘钥为ppk文件,如下图所示。
    Linux环境下搭建git服务器和TortoiseGit客户端 ssh key测试
  3. 打开TortoiseGit客户端工具 Pageant,将刚刚生成的ppk文件导入,如下图所示。
    Linux环境下搭建git服务器和TortoiseGit客户端 ssh key测试

4、在服务器端导入本地公钥

vim /home/git/.ssh/authorized_keys
:r   #复制刚刚拷贝的keys file内容
:wq  #保存退出

5、开启服务器中的RSA认证

vim /etc/ssh/sshd_config  #修改sshd_config文件,注意是sshd_config而不是ssh_config文件
#开启如下三个参数
RSAAuthentication yes  
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

6、创建仓库

cd /usr/local/data/git
git init —bare gitresp.git
chmod 777 gitresp.git -R  #开启权限

7、本地克隆

Linux环境下搭建git服务器和TortoiseGit客户端 ssh key测试
如果开启了Pageant并成功导入了ppk文件,此处可以不用选中加载Putty秘钥,如果没有打开Pageant,则需要选中ppk文件,ppk一定要和服务器上的公钥对应。
至此,即可完成git服务搭建和本地TortoiseGit客户端测试了。