纪念一次搭建git服务器所踩的坑,最详细全部过程 | ssh | git | centos

1 篇文章 0 订阅

记念(没错是纪念)一次搭建git服务器所踩的坑,起因是头一天晚上在家里试验弄的好好的,第二天到公司一直报错,事实证明,越不起眼的操作,越容易老司机翻车。

点击查看原文 一个要成为网红的程序员

搭建过程

安装
yum install -y git
git --version

1.png

创建git用户和组

一般用户名和组名使用 git,并设置密码

groupadd git
adduser git -g git
passwd git

2.png

修改sshd_config,打开RSA认证

vi /etc/ssh/sshd_config

若没有该行则自行添加

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

sshconfig.png

修改配置要重启sshd服务

systemctl restart sshd

通过 AuthorizedKeysFile .ssh/authorized_keys知道公钥的存放位置,本文在git用户目录下的.ssh文件夹

创建公钥存放文件

git用户下其实是没有.ssh文件夹的,需要自行创建

cd /home/git
mkdir .ssh
vi .ssh/authorized_keys

客户端的公钥复制到authorized_keys中进行授权验证,一行一个

xian.png

用刚刚授权的客户端测试ssh链接是否成功

ssh -T git@yourIp

ssh.png

可以看到我们已经完成了授权功能,同时使用git账号ssh远程登陆到了我192.168.9.132的主机

禁用git账号登陆服务器

由于添加了公钥,导致所有添加公钥的人都可以登陆服务器,这是不安全的,于是我们用git-shell进行限制

vi /etc/passwd

git:x:1000:1000::/home/git:/bin/bash 修改为 git:x:1000:1000::/home/git:/usr/bin/git-shell

再次用客户端进行测试,ok已被禁止

2.png

创建裸库

这个库的所有者必须是git用户!我的git用户名是git,参上。

首先创建裸库,我在根目录创建了一个叫gitServer.git的文件夹,并初始化裸库,修改所有者为git

mkdir gitServer.git
git init --bare gitServer.git
chown -R git:git gitServer.git

init.png

客户端进行clone测试

回到刚刚的客户端,进行git操作

git clone git@192.168.9.132:/gitServer.git

clone3.png

ok,大功告成

sshkey生成

ssh公钥在你用户目录下的.ssh文件夹中的id_ras.pub中,如果没有需要自行生成,一路回车即可,不需要设置密码

ssh-keygen -t rsa -C "yourName@email"

windows用户生成sshkey

推荐新手使用git bash客户端,直接敲击命名即可。或者你也可以下载openssh,然后你就可以像我一样在cmd命令提示符中使用ssh服务了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值