ubuntu 16.04 搭建 git

版权声明:本文为博主原创文章,未经博主允许不得转载。 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

这里写图片描述

完成

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_28719743/article/details/82629989