众所周知,github是一个免费托管开源代码的远程仓库,那么要想自己搭建一台Git服务器作为私有仓库使用,
要怎么操作呢?
搭建环境:centos 6.4
1.在线安装git yum -y install git
2.查看版本,安装成功 git – – version
3.添加git用户 adduser git
4.初始化git仓库 /data/git/ [可以任意选择目录]来当做一个git仓库
执行git初始化命令 ,会创建一个裸仓库,裸仓库没有工作区
[root@localhost git]# git init --bare gitdemo.git
Initialized empty Git repository in /data/git/gitdemo.git/
并修改gitdemo.git 所属:
chown git:git gitdemo.git
5. 到这里基本完成,你可以去本地客户端 clone 试一试
$ git clone git@192.168.1.2:/data/git/gitdemo.git
查看是否可以克隆下来
很有可能出现的问题:提示你输入密码:
$ git@192.168.1.2's password:
擦,密码?简直是一脸懵逼!,没关系,可以通过SSH的公钥来完成验证!
1) 创建SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com"
把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub就是要找的公钥啦!
- 最容易漏掉,非常重要的一步,开启【Git服务器打开RSA认证】
在Git服务器上添加你的公钥用来验证你的信息。故必须要开启【Git服务器RSA认证】 将/etc/ssh/sshd_config中将RSA认证打开,
在服务器上找到【/etc/ssh/sshd_config】 vim 编辑模式,将这三项前面的#去掉即可
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
8. 万事俱备只欠东风啦,
公钥要存放在.ssh/authorized_keys文件中。所以我们要在/home/git下创建.ssh目录,然后创建authorized_keys文件,并将刚生成的公钥导入进去。
注意权限问题:
将/home/git 所属全部改为git
chown git:git -R git/
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
9. 禁用git用户的shell登陆
git:x:503:503::/home/git:/bin/bash
改为:
git:x:503:503::/home/git:/sbin/nologin
或:
git:x:503:503::/home/git:/usr/bin/git-shell
注:CSDN博客:在CentOS下搭建自己的Git服务器