linux给git开端口,linux搭建git私服

最近帮朋友弄git私服,记录一下方便以后操作。

目标:在linux上搭建一个git服务器,供远程操作项目管理。本篇不做权限管理,通过手动在服务器维护authorized_keys方式授权。如果想参考gitlab 可视化管理方式,请看:Linux搭建gitLab

搭建环境

服务器 CentOS7.5 + git(version 1.8.3)

客户端 Windows10 + git(version 2.17.1.windows.2)

一、服务端搭建

安装git

yum install git -y //拉取最新git即可

查看git版本

git --version //正常显示版本表示安装成功

添加git用户

useradd git //这里不一定非要是 ‘git’这个名字,为了方便使用git

修改git登录密码

passwd git //修改上一步添加git的用户密码!!!注意密码强度要规范!!!

这里注意密码强度一定要合法,8-16位数字、字母、字符且不能含有用户名,下面就是错误提示

image.png

创建一个git空项目

cd /app/

mkdir test

cd test/

git init --bare test.git //bare方式创建一个空项目

至此服务端的git已经安装部署好,并且已经生成了一个空目录的git项目,git地址为:git@ip:port/dir/example.git 例如[email protected]:/app/test/test.git

如果ssh默认端口22可以省略不写,否则port为对应ssh端口

二、客户端安装

windows电脑打开一个文件夹,右键选择 Git Bash here,在git窗口检验是否安装成功。

git --version

image.png

下载服务端的git项目

git clone 服务ip:/app/test/test.git //初次链接服务器,会提示是否授信,输入yes即可

4.clone项目时会提示输入密码,直接输入在服务端创建git账号时填写的密码即可。即前面提到的git用户的密码。

至此客户端应能够下载git代码了,但仅限于用git账号密码ssh链接下载,显然不是我们想要的!如何使用自己的git账号连接远程git服务器进行代码的操作呢?

三、使用SSH公钥操作git服务器

客户端生成ssh公钥

ssh-keygen -t rsa -C "[email protected]" //一路回车即可

image.png

找到ssh公钥和私钥,windows客户端C:\Users\你的用户.ssh

image.png

id_rsa为私钥,id_rsa.pub公钥,公钥可以配置在git服务器上

git服务器打开RSA认证

进入 /etc/ssh 目录,编辑 sshd_config,打开以下三个配置的注释:

RSAAuthentication yes //RSA权限认证

PubkeyAuthentication yes //公钥认证(若没有手动添加)

AuthorizedKeysFile .ssh/authorized_keys //公钥存放地址,这里的.ssh指的是git用户的.ssh目录,非root用户的目录,即/home/git用户/.ssh

image.png

重启sshd服务

systemctl restart sshd.service

添加客户端id_rsa.pub到git服务器authorized_keys

cd /home/git

mkdir .ssh //如果不存先创建

cd .ssh/

chown -R git:git .ssh //授权

chmod 700 -R git:git /home/git //文件夹权限

touch authorized_keys

rz id_rsa.pub

cat id_rsa.pub >> authorized_keys

关闭git用户shell登录

git服务端:编辑/etc/passwd文件,将

git:x:1001:1001:,,,:/home/git:/bin/bash

改为:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

至此,已经完成了git服务器的搭建,已经添加ssh公钥的用户,可以在客户端进行git操作了!

你可能感兴趣的:(linux给git开端口)