史上最详细的git服务器搭建步骤

git服务器搭建的整体思路
服务器端
1.yum安装git
2.创建git用户,用来运行git服务,开启linux的公钥认证登录
3.上传客户端的公钥,确认git用户对认证文件的权限(这个很重要)
4.确认客户端可以连接到git服务,然后禁用客户端shell登录
5.初始化一个远程中央仓库
本地代码提交端
1.安装git bash
2.设置本地全局变量user.name user.email
3.在gitbash里生成公钥私钥并上传
4.确认可以用git用户身份登录git服务器
5.测试提交需要提交的文件

 


一. 服务器端需要的操作
 
  1. 首先看下我们准备搭建git的服务器的操作系统是什么,然后安装git
        史上最详细的git服务器搭建步骤
        选择使用yum安装git。 http://git-scm.com/download/linux

       史上最详细的git服务器搭建步骤

安装完成后,git --version  查看git版本

2.创建git用户

[root@VM_35_77_centos ~]# sudo useradd -m git
[root@VM_35_77_centos ~]# sudo passwd git

史上最详细的git服务器搭建步骤

从root用户切换到git用户,进入到home,然后创建.ssh目录,并在.ssh目录下创建文件authorized_keys

[root@VM_35_77_centos ~]# su git
[git@VM_35_77_centos root]$ cd
[git@VM_35_77_centos ~]$ ls -la
total 28
drwx------ 4 git  git  4096 May 21 11:35 .
drwxr-xr-x 4 root root 4096 May 21 11:35 ..
-rw-r--r-- 1 git  git    18 Dec  2  2011 .bash_logout
-rw-r--r-- 1 git  git   176 Apr 29  2014 .bash_profile
-rw-r--r-- 1 git  git   124 Apr 29  2014 .bashrc
drwxr-xr-x 2 git  git  4096 Nov 12  2010 .gnome2
drwxr-xr-x 4 git  git  4096 Oct 22  2014 .mozilla
[git@VM_35_77_centos ~]$ mkdir .ssh
[git@VM_35_77_centos ~]$ ls -la
total 32
drwx------ 5 git  git  4096 May 21 11:38 .
drwxr-xr-x 4 root root 4096 May 21 11:35 ..
-rw-r--r-- 1 git  git    18 Dec  2  2011 .bash_logout
-rw-r--r-- 1 git  git   176 Apr 29  2014 .bash_profile
-rw-r--r-- 1 git  git   124 Apr 29  2014 .bashrc
drwxr-xr-x 2 git  git  4096 Nov 12  2010 .gnome2
drwxr-xr-x 4 git  git  4096 Oct 22  2014 .mozilla
drwxrwxr-x 2 git  git  4096 May 21 11:38 .ssh
[git@VM_35_77_centos ~]$ cd .ssh && vi authorized_keys
[git@VM_35_77_centos .ssh]$ ll
total 4
drwxrwxr-x 2 git git 4096 May 21 11:42 authorized_keys

史上最详细的git服务器搭建步骤

1 。首先用密码登陆centos ,编辑 etc/ssh/sshd_config 

去掉以下几行的注释 

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
AuthorizedKeysCommand none
AuthorizedKeysCommandRunAs nobody

这个意思是开启公钥认证登陆 。

然后service   sshd   restart ,重启ssh  。

然后添加个用户git ,设置密码 ,我们用用户git测试共钥登陆 。不建议用root测试,以防万一 。

二.客户端需要做的事情

1.从git官网下载windows系统的,安装完成以后,在电脑的任意地方右键打开git bash
   在gitbash里输入生成公钥私钥的命令
$ssh-keygen -t rsa -C "[email protected]"

 
  http://git-scm.com/downloads
2.再回到服务端,需要做的事情
生成的公钥私钥文件会在用户的.ssh目录里,
把公钥id_rsa.pub里的内容复制到git服务器的/home/git/.ssh/ authorized_keys 文件里,不同的客户端公钥认证主要换行

1.将公钥写入服务器验证文件

以root登陆服务器 ,再切换到git用户 。

在git用户的家目录下面建立 .ssh/authorized_keys文件 。目录和文件都要新建 。

然后执行cat id_rsa.pub >>  ~/.ssh/authorized_keys

写入公钥验证文件 。

这个文件就是服务器和客户端验证公钥是否相同的文件 。

5  。公钥和私钥文件权限设置 。这一步很重要 。否则会验证失败 。

SSH对公钥、私钥的权限和所有权的要求是非常严格的,总结如下:

1、下面两个目录的所有权必须是user,所属组也应该是user,权限必须为700

/home/git

/home/git/.ssh

史上最详细的git服务器搭建步骤

$chmod 700 git

$chmod 700 .ssh

史上最详细的git服务器搭建步骤

史上最详细的git服务器搭建步骤


2、下面公钥文件的所有权必须是user,所属组也应该是user,权限必须为644

/home/user/.ssh/authorized_keys

$chmod 644 /home/user/.ssh/authorized_keys

史上最详细的git服务器搭建步骤

在gitbash里验证是否可以使用公钥认证登录
$ssh git@linux服务的hostname或者ip   第一次登录需要输入密码  以后登录就不需要了
史上最详细的git服务器搭建步骤

史上最详细的git服务器搭建步骤

三。开始使用git

在服务端的/home/git/目录下创建目录
mkdir exzample
cd exzample
git init --bare
 

 
 

相关推荐