版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28719743/article/details/82629989
参考文章
http://www.runoob.com/git/git-server.html
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000
环境
服务器环境:
ubuntu 16.04
本地环境:
windows7
git 2.18.0
本地端
下载git
https://git-scm.com/downloads
这个安装就没什么好说的了,一路点击下一步就好
创建密钥对
ssh-keygen
方便起见,配置时一直回车,按默认选项配置。
上传公钥到服务器
ssh-copy-id 用户名@ip地址
服务器端
先查找一下刚才发送过来的客户端公钥
updatedb
locate authorized_keys
传到 /home/ubuntu/.ssh/authorized_keys 了
安装git
apt install git
创建一个git用户组和用户
groupadd git
useradd git -g git
创建证书登录
创建git目录
mkdir /home/git
创建.ssh目录
mkdir /home/git/.ssh
创建authorized_keys文件
touch /home/git/.ssh/authorized_keys
将刚才本地上传的公钥导入authorized_keys文件
cat /home/ubuntu/.ssh/authorized_keys >> /home/git/.ssh/authorized_keys
查看一下导入的公钥
没问题
禁用shell登录
出于安全考虑,创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。
vim /etc/passwd
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
初始化Git仓库
新建一个目录作为Git仓库
mkdir /home/mygit
修改权限
chown git:git mygit
进入目录
cd /home/mygit
初始化一个空的git仓库
git init --bare first.git
所属用户改为git
chown -R git:git first.git
克隆仓库
git clone git@192.168.0.113:/home/mygit/first.git
完成