之前自己是按照Git 服务器搭建这篇博客来安装git服务器的,一步步顺序下来,但git clone的时候,每次都要求输入密码。说好的SSH免密登录呢。前后搞了一天多才搞定,现在记录下踩过的坑。

坑1:

那篇文章的原文:

收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

如果没有该文件创建它:

$ cd /home/git/
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

这边创建的文件夹,应该授权给git用户,所以应该再加一句:

$ chown -R git:git .ssh

坑2:

那篇文章没有提修改/etc/ssh/sshd_config下的配置文件。

在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,即:

1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedKeysFile .ssh/authorized_keys

修改配置之后,需要重启sshd

systemctl restart sshd.service

可以通过这个命令去测试SSH是否可连接:

 ssh -T git@192.168.1.85

然后在服务器,可以通过这个命令查看ssh状态

systemctl status sshd.service

坑3:

ssh可以连接了,但git clone的时候,报

fatal: protocol error: bad line length character: This

找到/etc/passwd,原文里面是说:

这样我们的 Git 服务器安装就完成了,接下来我们可以禁用 git 用户通过shell登录,可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:503:503::/home/git:/bin/bash
改为:
git:x:503:503::/home/git:/sbin/nologin

但就是这个nologin让我们报错了,应该改成:

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

附Git创建仓库命令:

git init --bare demo.git
--将创建的库授权给git用户
/home/gitrepo/demo.git/
chown -R git:git demo.git
 

centos7安装git踩坑记的更多相关文章

  1. MacOS下SVN迁移Git踩坑记

    1. First Blood 之前在Windows环境下进行svn到git的迁移是很简单的,(参考官方文档:https://git-scm.com/book/zh/v1/Git-%E4%B8%8E%E ...

  2. Mac 安装flutter 踩坑记

    完整版请看链接: http://b36d5043.wiz03.com/share/s/2Prl132RpQ3x2XpA4I2oTa2204K0FF0vB4J42tWIEQ04UrAg 首先下载flut ...

  3. CentOS7.4安装MySQL踩坑记录

    CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...

  4. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...

  5. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(一) 一.Linux下安装MySQL 1.下载 下载地址:http://dev.mysql.co ...

  6. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二) 安装apache web容器 . yum方式安装apache 注意apache在linux ...

  7. Linux系统搭建GitLab---阿里云Centos7搭建Gitlab踩坑

    一.简介 GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目安装. 它拥有与GitHub类似的功能,能 ...

  8. Vue + TypeScript + Element 搭建简洁时尚的博客网站及踩坑记

    前言 本文讲解如何在 Vue 项目中使用 TypeScript 来搭建并开发项目,并在此过程中踩过的坑 . TypeScript 具有类型系统,且是 JavaScript 的超集,TypeScript ...

  9. centos 7( linux )下搭建elasticsearch踩坑记

    原文:https://blog.csdn.net/an88411980/article/details/83150380 概述    公司最近在做全文检索的项目,发现elasticsearch踩了不少 ...

随机推荐

  1. 4-20arget 属性和hover

    1.target 属性 定义和用法 target 属性规定在何处打开 action URL. 值 描述 _blank 在新窗口中打开. _self 默认.在相同的框架中打开. _parent 在父框架 ...

  2. CentOS7 下安装GUI图形界面GNOME

    在安装Gnome包之前,需要检查一下网络是否有网络(使用ping www.baidu.com) 一.先装X windows,-y表示参数同意所有软件安装操,当出现 Complete!说明这里安装成功了 ...

  3. 从本地上传项目到 github 以及从github 下载项目到本地环境

    前置条件:成功安装github,安装成功后,要配置密钥,不然上传不成功,要报错 具体上传步骤: git init   //初始化 git add  文件名  //更新文件 git commit -m ...

  4. GUI学习之五——QAbstractButton类学习笔记

    今天总结一下AbstractButton类的学习笔记. 一.描述 AbstractButton是对各种按键的抽象类他的继承关系是这样的 首先,QAbstractButton继承了QWidget类的各种 ...

  5. net::ERR_CONNECTION_RESET 问题排查

    后台服务器代码有问题 实体不对称,导致映射不对

  6. 获取父窗口的xxx节点的方法

    window.parent.document.getElementById("xxx");获取父窗口的xxx节点$("#myEle", window.paren ...

  7. makefile与动态链接库案例分析——动态库链接动态库

    http://blog.csdn.net/huqinwei987/article/details/50517780 背景:效率考虑,要重用把服务器主备机方案,以库Libmdpha(高可用)的形式加进主 ...

  8. CentOS7 + Django2.1 + uwsgi + nginx配置

    假设已经可以运行Django项目,可以runserver.也已经安装了uwsgi和nginx 现在需要进行配置. 刚开始进行uwsgi测试就不行,提示bash:'uwsgi' Command not ...

  9. 2019.03.29 NOIP训练 友好国度(点分治+容斥)

    传送门 思路: 直接上点分治+容斥计算每个因数对应的贡献即可. 代码: #include<bits/stdc++.h> #define ri register int using name ...

  10. Linux 第十四天

    6)Bash常用快捷键 快捷键 作用 ctr1+ a 把光标移动到命令行开头.如果我们输入的命令过长,想要把光标移| 动到命令行开头时使用. ctr1+e 把光标移动到命令行结尾. ctr1+c 强制 ...