第一步.安装git服务

yum  install git

第二步.创建git用户

adduser git

第三步开启公钥验证

vi /etc/ssh/sshd_config

讲文件中的

#PubkeyAuthentication yes
#最前方的#删掉
PubkeyAuthentication yes

重启ssh服务

service sshd restart

第四步生成git登录公钥

安装完成 git客户端之后,本地CMD中执行

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

一路回车,生成用户公钥文件(id_rsa.pub)

ssh-keygen -t rsa -C "你的邮箱"

若未改变目录,到 C:\Users\Administrator\.ssh\id_rsa.pub 找到.ssh目录下的id_rsa.pub文件,使用notepad++或其他软件打开,复制其中全部内容,待加入到服务器的authorized_keys 文件内

第五步 设置免密码登录

收集所有需要登录的用户的公钥(id_rsa.pub)文件,把所有公钥导入到 authorized_keys 文件内,一行一个。

authorized_keys的位置是在:如果你创建了用户username,那该文件应该创建在/home/username/.ssh/authorized_keys;如果你使用的是root用户,该文件应该创建在~/.ssh/authorized_keys(即root/.ssh/authorized_keys)。先创建个随意内容的文件夹,在设置完成权限之后再添加用户公钥

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

设置权限

chmod  /home
chmod /home/git
chmod /home/git/.ssh
chmod /home/git/.ssh/authorized_keys
chown git /home
chown git /home/git
chown git /home/git/.ssh
chown git /home/git/.ssh/authorized_keys

添加用户登录公钥

vi authorized_keys

第六步初始化git仓库

cd /usr
mkdir git
cd git
git init --bare test.git
chown -R git:git test.git

第七步禁用shell登录

禁用shell登录:
处于安全的考虑,第二步创建的git用户不允许登录shell,这可以通过编辑 /etc/passwd 文件完成。

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

改为

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

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

第八步克隆远程仓库

设置git信息

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

克隆远程仓库:
现在,可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:

git clone git@服务器IP:/usr/git/test.git

如果服务器的ssh端口不是默认的22的话,比如说6789,可以这样写:

git clone ssh://git@server:6789/home/git/test.git

摘自:

https://www.jianshu.com/p/0c939f63af41

https://www.cnblogs.com/liter7/p/6581344.html

http://blog.51cto.com/11366698/1793600

centos 7 搭建git远程仓储 免密登录的更多相关文章

  1. linux 远程ssh免密登录

    写在前面 先说说需求: 我们平时开发.运维操作linux过程中经常需要实现将远程文件拷贝到本地或者本地文件拷贝到远程:执行远程命令等操作:这个时候建立ssh免密登录应该是一个比较好的选择: 原理 在l ...

  2. Git配置ssh免密登录

    一.在用户目录下的.ssh目录下生成秘钥与公钥 如果用户目录下没有.ssh目录,则需要新建一个 cd ~/.ssh ssh-keygen -t rsa 一路回车即可 注:国内很多博客都会带上-C &q ...

  3. 【Linux】配置SSH免密登录

    环境说明 假设我们有三台机器分别为bigdata111,bigdata112,bigdata113,三台机器均为centos 7系统. 配置SSH免密登录 (1)利用Xshell的发送键输入到所有会话 ...

  4. Centos服务器ssh免密登录以及搭建私有git服务器

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

  5. 版本管理·玩转git(远程仓库配置和配置公钥免密登录)

    git系列的最后一部分内容,我们先来看看如何查看远程仓库. 输入 git remote -v 我们还可以删除远程库,输入 git remote remove origin 删除后再次查询,信息为空. ...

  6. CentOS下SSH远程免密登录服务器

    .5服务器上配置,通过ssh远程免密登录192. 1.安装SSH,此处省略 2.生成公钥和私钥,生成的秘钥默认在/root/.ssh/文件夹里面 [root@localhost ~ ::&&a ...

  7. CentOS配置SSH免密登录

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

  8. 【图文详解】linux下配置远程免密登录

    linux下各种集群搭建往往需要配置远程免密登录,本文主要描述了CentOs6.3系统下配置免密登录的详细过程. ssh远程登录,两种身份验证: 用户名+密码 密钥验证 机器1生成密钥对并将公钥发给机 ...

  9. Ubuntu 开启SSH服务以及有关设置:安装,指定端口号、免密登录、远程拷贝

    本文所用系统为 Ubuntu 18.04   什么是SSH?     简单说,SSH是一种网络协议,用于计算机之间的加密登录.全名为:安全外壳协议.为Secure Shell的缩写.SSH为建立在应用 ...

随机推荐

  1. pytest文档12-skip跳过用例

    前言 pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能 skip意味着只有在满足某些条件时才希望测试通过,否则pytest应该跳过运行测试. 常见示例是 ...

  2. Python学习 —— 阶段综合练习一

    Python 阶段综合练习一 综合之前的函数.数据结构.流程控制等,做以下实例练习:(建议先不要看代码,自己先试着写:代码仅供参考,有多种实现方法) 1. 定义 is_Even 函数,传一 int 参 ...

  3. iOS网络编程解析协议二:XML数据传输解析

    XML两种解析方式,一种是SAX,NSXMLParser是SAX方法解析,另一种是DOM(Document Object Model); 区别: SAX: 只能读,不能修改,只能顺序访问,适合解析大型 ...

  4. go语言基础之回调函数

    1.回调函数 示例: 实现:加,减,乘 示例: package main import "fmt" type FuncType func(int, int) int //实现加法 ...

  5. Fibre Channel和Fiber Channel

    Fibre Channel也就是"网状通道"的意思,简称FC.   由于Fiber和Fibre只有一字之差,所以产生了很多流传的误解. FC只代表Fibre Channel,而不是 ...

  6. 原生对话框【Dialog】AlertDialog和.Builder

    使用大全 public class MainActivity extends ListActivity );                     pd.setProgress(i);//改变当前进 ...

  7. javascript实现浏览器窗口传递参数

    a.html <html> <head> <title>主页面</title> <script language="javascript ...

  8. Zclip:复制页面内容到剪贴板兼容各浏览器

    WEB开发中,要让用户复制页面中的一段代码.URL地址等信息,为了避免用户拖动鼠标再进行右键复制操作而可能出现的差错,我们可以直接在页面中放置一个复制按钮,只需要轻轻一点这个复制按钮,内容将会被复制, ...

  9. css背景颜色渐变

    1.效果 2.代码 /* 基本色 */ background: #3FB0AC; /* chrome 2+, safari 4+; multiple color stops */ background ...

  10. Thinkphp学习笔记-controller与view绑定

    $this->display(); 通过上面的代码则可以输出controller所对应的view