版权声明:本文为博主原创文章,转载请注明出处,谢谢! 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