CentOS 搭建 Git服务器

版权声明:本文为博主原创文章,转载请注明出处,谢谢! https://blog.csdn.net/miwumuge/article/details/83243989

GitHub是一个免费托管开源代码的远程仓库,但是有时候我们既不想公开源代码,又不想给GitHub交保护费。如果这时候我们有一台自己的服务器,那我们就可以把这个服务器搭建成一台Git服务器作为私有仓库使用

1.安装Git

sudo yum install -y git

2.创建一个git用户和用户组,用来运行git服务

# 创建git用户组    
sudo groupadd git
# 创建git用户
sudo useradd -g git git
# 为git用户添加密码
sudo passwd git

3.创建证书登录

Window系统下用Git Bash执行以下命令把公钥复制到远程服务器上

# 把服务器地址改为自己的服务器地址
# 过程中会提示输入密码,输入上面为git用户添加的密码即可
ssh-copy-id -i ~/.ssh/id_rsa.pub git@服务器地址

也可以自己手动把公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。不建议复制粘贴,因为Window系统和Linux系统的文件格式不同,可能就会导致出错

.ssh的权限为700 authorized_keys的权限为600

4.服务器配置

需要将/etc/ssh/sshd_config中的RSA认证打开

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

RSAAuthentication yes应该在/etc/ssh/ssh_config文件中

5.初始化Git仓库

选定一个目录作为git仓库,假定是/home/git/src,在/home/git/src目录下输入如下命令,创建一个sample.git资源库

git init --bare sample.git

6.禁用shell登录(可选)

出于安全考虑,创建的git用户不允许登录shell,可以通过编辑/etc/passwd文件完成。找到下面这一行:

git:x:1003:1003::/home/git:/bin/bash

改为:

git:x:1003:1003::/home/git:/usr/bin/git-shell

这样git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每一次登录就自动退出

7.克隆远程仓库

现在就可以用git clone命令克隆远程仓库了

#url格式 git@服务器地址:资源库地址
git clone git@server:/home/git/src/sample.git

猜你喜欢

转载自blog.csdn.net/miwumuge/article/details/83243989
今日推荐