Centos7.4以下服务器ssh免密登录以及搭建私有git服务器免密拉取上传代码

1 篇文章 0 订阅

一、概述

       服务器的免密登录和git服务器的搭建,关键都是要学会把自己用的机器的公钥添加到服务器上,让服务器“认识”你的电脑,从而不需要输入密码就可以远程登录服务器上的用户。

       免密登录可以是登录root用户,也可以是登录服务器上创建的其他用户,而搭建git服务器需要在服务器上创建一个git用户。注意服务器上每个用户识别的公钥存在不同的文件中,因此需要自己的电脑既能免密登录,又能使用git服务器,就要把自己电脑的公钥添加到两个文件中。

二、服务器免密登录

1、修改服务器sshd config配置

       登录服务器的root用户,然后输入(操作系统centOS7.3之后的版本,更改了默认配置)

vim /etc/ssh/sshd_config

编辑root用户的ssh设置,在文件中加入

RSAAuthentication yes
PubkeyAuthentication yes

两句,用以开启ssh证书登录

注意到文件中有一行

AuthorizedKeysFile .ssh/authorized_keys

这里指定了root公钥存放的文件,下一步要做的就是将我的电脑的公钥加到这个文件里

2、获取自己机器的公钥

ssh-keygen -t rsa

       之后一路回车,公钥和私钥都会存在默认的~/root/.ssh/目录中。

ssh-copy-id user@host

3、免密登录

       在自己的机器中输入ssh root@服务器公网ip就可以直接登录服务器的root账号了。
实图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、搭建git服务器

       在理解了服务器免密登录的原理后搭建git服务器就很简单了,我们需要创建一个用户git,把git仓库授权给git管理,然后把允许访问git仓库的机器的公钥添加到git用户的authorized_keys文件中。

1、安装git

yum install -y git

-y:对安装过程中所有的提示选择yes

2、创建git用户

adduser git

3、配置git用户的ssh访问设置

进入git用户目录

cd /home/git

创建.ssh文件夹

mkdir .ssh

将.ssh文件夹的权限值设为700,即只允许本用户和root用户拥有读、写、执行权限。

chmod 700 .ssh

这么做的原因是是如果authorized_keys文件、$HOME/.ssh目录 或 $HOME目录让本用户之外的用户有写权限,那么sshd都会拒绝使用 ~/.ssh/authorized_keys 文件中的key来进行认证的。

创建一个空文件authorized_keys

touch .ssh/authorized_keys

将authorized_keys权限值设为600,即只允许本用户和root用户拥有读、写权限。

chmod 600 .ssh/authorized_keys

将git文件夹的用户名和组名都改为git,-R表示对该文件夹下所有子文件进行同样的操作

cd /home
chown -R git:git git

4、将本机公钥拷贝到git的authorized_keys中,一行一个

刚刚已经在/root/.ssh/authorized_keys中添加过本机公钥了,直接使用cat命令输出在控制台,复制到/home/.ssh/authorized_keys中即可,然后使用cat /home/.ssh/authorized_keys查看下是否正确添加。

cat /root/.ssh/authorized_keys > /home/.ssh/authorized_keys
cat /home/.ssh/authorized_keys

5、创建git仓库

在home目录下新建一个gitrepo文件夹作为git仓库的储存室

cd /home
mkdir gitrepo

将此文件夹归为git所有

chown git:git gitrepo

创建第一个git仓库

cd gitrepo
git init --bare test.git

将仓库归为git所有

chown -R git:git test.git

6、在客户端拉取服务器新建的git仓库

git clone git@公网ip:/home/gitrepo/test.git

在本地编辑仓库并提交后,可以连接到服务器查看git仓库的修改时间,如果修改时间有变化则说明提交成功

7、从客户端push仓库

git add .
git commit -m “fix”
git push

参考:https://www.cnblogs.com/luozx207/p/9628195.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值