一、概述

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

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

二、服务器免密登录

  1、修改服务器sshd config配置

  登录服务器的root用户,然后输入

vim /etc/ssh/sshd_config

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

RSAAuthentication yes
PubkeyAuthentication yes

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

  注意到文件中有一行

AuthorizedKeysFile    .ssh/authorized_keys

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

  2、获取自己机器的公钥

ssh-keygen -t rsa

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

  进入这个目录,用  cat id_rsa.pub  查看公钥,然后将显示的内容复制到服务器的authorized_keys中即可,此文件一行一个公钥

  3、免密登录

  在自己的机器中输入ssh root@服务器公网ip就可以直接登录服务器的root账号了

  4、禁用密码登录(可选

  防止服务器登录密码被暴力破解,禁用密码登录,修改sshd_config,找到PasswordAuthentication将它设置为no

  重启ssh服务

service sshd restart

三、搭建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  .ssh

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

  创建一个空文件authorized_keys

touch .ssh/authorized_keys

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

chmod  .ssh/authorized_keys

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

cd /home
chown -R git:git git

 4、将本机公钥拷贝到git的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 remote add origin git@公网ip:/home/gitrepo/test.git
git push -u origin master

 8、禁用shell登录

  如果希望git用户不能登录shell,就要修改git用户的权限

  修改/etc/passwd

vim /etc/passwd

  将

git:x::::/home/git:/bin/bash

  改为

git:x::::/home/git:/bin/git-shell

  这样,git用户可以正常通过ssh使用git,但无法登录shell。

Centos服务器ssh免密登录以及搭建私有git服务器的更多相关文章

  1. 【Linux】两台服务器ssh免密登录

    背景: 有些场景可能用到两台服务器ssh免密登录.比如服务器自动化部署 开始准备:  服务器A  linux   ip: 192.168.1.1 服务器B  linux  ip: 192.168.1. ...

  2. 多台服务器-SSH免密登录设置

    在4台服务器-SSH免密登录设置,如以下4台服务器 master1 node001 node002 node003 我想在master1对4台服务器进行拉取或者分发任务或者是集群服务器的批量操作,但是 ...

  3. linux服务器ssh免密登录

    环境:两台服务器,Park01.Park02,配置ssh免密登录 在Park01执行:ssh-keygen 然后一直回车 生成节点的公钥和私钥,生成的文件会自动放在/root/.ssh目录下   然后 ...

  4. jsch配置sftp服务器ssh免密登录

    前期对接了一个通过ssh免密登录的需求,是基于原先密码登录sftp服务器的代码上进行改造,实际上代码改动量非常少,趁此机会对自己整理的资料做一下总结. 1. 什么是SFTP SFTP是一个安全文件传送 ...

  5. CentOS配置SSH免密登录

    假如我们有两台CentOS机器,192.168.199.101,192.168.199.102,要想在101上远程连接102可以通过ssh命令来实现 ssh 192.168.199.102 如果没有配 ...

  6. CentOS 7 SSH 免密登录的方法

    先决条件 3 台 CentOS 7 HOSTNAME IP ROLE server1 10.8.26.197 Master server2 10.8.26.196 Slave1 server3 10. ...

  7. ssh免密登录linux服务器

    Ssh免密登录 sshd服务 sshd简介: SSH 密钥为登录 Linux 服务器提供了更好且安全的机制.运行 ssh-keygen 后,将会生成公私密钥对.你可以将公钥放置到任意服务器,从持有私钥 ...

  8. 配置ssh免密登录遇到的问题——使用VMware多虚拟机搭建Hadoop集群

    搭建环境: 虚拟机 VMware12Pro      操作系统  centos6.8        hadoop 1.2.1 1.导入镜像文件,添加java环境 1.查看当前系统中安装的java,ls ...

  9. SSH远程登录:两台或多台服务器之间免密登录设置

    有两台(或多台)同局域网的服务器A:192.168.2.21,B:192.168.2.25.让A,B这两台服务器之间能两两互相免密登录,并且每台服务器都可以自我免密登录(自我免密登录即:ssh loc ...

随机推荐

  1. iOS- 简单说说iOS移动客户端SQLite3的基本使用

    1.为什么要使用SQLite3? •大量数据需要存储 •管理数据,存储数据   SQLite是一种关系型数据库(也是目前移动客户端的主流数据库)     2.SQLite3的几种存储类型   a.NU ...

  2. win7 64位在线编辑dsoframer控件的安装和使用配置

    经历了两天的折磨,查阅了网上的资料,按网上的操作试了n种方法结果还是不行,开始以为是dsoframer 是32位控件问题,结果不是(经历了更改解决方案cpu,发布基于x86的网站:以为是操作系统问题, ...

  3. 2011 Multi-University Training Contest 4 - Host by SDU

    A.Color the Simple Cycle(polya计数+字符串匹配) 此题的难点在于确定置换的个数,由a[i+k]=a[i], e[i+k]=e[i]联想到KMP. 于是把原串和原串扩大两倍 ...

  4. 前端基础:JavaScript BOM对象

    JavaScript BOM对象 JavaScript Window - 浏览器对象模型 浏览器对象模型(BOM)使JavaScript有能力与浏览器"对话". 浏览器对象模型(B ...

  5. CentOS 用户管理useradd、usermod等

    1.创建新用户useradd,默认的用户家目录会被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组. 主要参数: -d 指定用户的家 ...

  6. [CF888G]Xor-MST

    题目大意:给一个$n$个点的完全图,第$i$个点有点权$v_i$,一条边$x-y$的边权为$v_x\oplus v_y$,求最小生成树 题解:明显$Kruskal$和$Prim$都会$TLE$,有一种 ...

  7. [AHOI2009]中国象棋 DP,递推,组合数

    DP,递推,组合数 其实相当于就是一个递推推式子,然后要用到一点组合数的知识 一道很妙的题,因为不能互相攻击,所以任意行列不能有超过两个炮 首先令f[i][j][k]代表前i行,有j列为一个炮,有k列 ...

  8. HDOJ.2084 数塔(DP)

    数塔 点我挑战题目 题意分析 DP的思想,自上而下计算. [这几天比较忙 有空补上] 代码总览 /* Title:HDOJ.2084 Author:pengwill Date:2017-1-14 */ ...

  9. 34张史上最全IT架构师技术知识图谱 最新下载

    本文是笔者多年来积累和收集的知识技能图谱,小编极力推荐分享给身边的技术人儿,希望这份技术知识图谱能够帮助到每一位奋斗在技术路上的小伙伴. 下面是笔者多年来积累和收集的知识技能图谱,有的是笔者原创总结的 ...

  10. 【神仙DP】【单调队列】【模拟题】区间覆盖

    传送门 Description 给出数轴上的n个线段,保留最多k条线段,问这些被保留下来的线段的并集长度为最多为多少. Input 第一行两个数n和k 接下来n行,每行两个数,表示一条线段的左右端点. ...