zoukankan      html  css  js  c++  java
  • centos7安装git踩坑记

    之前自己是按照 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
     
  • 相关阅读:
    C#三元运算符
    WIN系统查询版本
    C# switch 语句
    C#反编译
    AssemblyInfo.cs 文件信息
    win系统如何在桌面显示我的电脑
    MVC传值前台
    js去除html标记
    打开页面跳转到区域下的控制器
    Hive常用操作之数据导入导出
  • 原文地址:https://www.cnblogs.com/Gyoung/p/7759909.html
Copyright © 2011-2022 走看看