目录

 

一、在服务器上创建一个新用户

二、创建一个Git仓库

三、在服务器端打开RSA认证

四、在客户端创建SSH key

五、把步骤四生成的公钥导入服务器

 

六、在客户端clone远程git仓库

七、禁止用户git通过shell进行登录

八、结束语 - 初始化master分支


一、在服务器上创建一个新用户

1.添加git用户

adduser git

2.更改密码(参数是用户名,会让你输入新密码和确认新密码,长度8位以上)

passwd git

二、创建一个Git仓库

1.创建文件夹

mkdir /data/git

2.进入文件夹

cd /data/git

注:如果没安装Git服务,执行 yum -y install git 

git init --bare demo.git

4.将demo.git的所有权从root修改到新创用户的git

chown -R git:git demo.git

三、在服务器端打开RSA认证

1.在文件  /etc/ssh/sshd_config  中去掉下面三代码前方#注释,如果没找到某一段请添加进去:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

2.进入刚刚创建的git用户目录下

cd /home/git

 3.创建存放公钥的文件夹

mkdir .ssh

4.创建用户存放客户端公钥的文件,【:创建后自动进入空文件,:wq退出】

vim authorized_keys

四、在客户端创建SSH key

ssh-keygen -t rsa -C "你的邮箱"

  该命令会在用户主目录的.ssh文件夹下生成两个文件:用于保存私钥的 id_rsa 和用于保存公钥的 id_rsa.pub

五、把步骤四生成的公钥导入服务器

 将生成的 id_rsa.pub 中的内容拷贝到服务器文件 /home/git/.ssh/authorized_keys中,就是第三步第四点创建的文件

 

六、在客户端clone远程git仓库

git clone git@193.112.131.155:/data/git/demo.git

   其中193.112.131.155是你自己的服务器端的IP地址

   (由于进行了步骤4和步骤5的设置,所以在clone仓储的时候就无需再输入密码了)

   【:克隆如果出现以下错误,删除客户端 known_hosts 文件中的最后一行】

centsos git服务器本地仓库 centos git服务器搭建_客户端

centsos git服务器本地仓库 centos git服务器搭建_服务器_02

 

七、禁止用户git通过shell进行登录

因为搭建git服务器后通常会建立一个git账户,其它人共用这个账户来克隆或推送数据到git仓库中,通常也只需要这个功能,但是如果不加限制,那么其它人可以通过这个git账户使用指令 ssh git@193.112.131.155  登录到主机,那么这样是不安全的,所以需要加以限制,即令git用户不允许登录shell,可以编辑  /etc/passwd 文件,找到类似下面的一行:

  将

git:x:1000:1000::/home/git:/bin/bash

 改成 (后面加个git-shell即可,别复制我这段!!!)

git:x:1000:1000::/home/git:/usr/bin/bash/git-shell

八、结束语 - 初始化master分支

  在进行了一个commit操作后,master分支就会出现,此时执行git push就可以将本地的修改推送到远程的master分支了.

  至此远程git服务器搭建完毕!

 

【注】如果出错或疑问欢迎指出,如果您有更好的方法欢迎一起交流学习