zoukankan      html  css  js  c++  java
  • linux git server 简易搭建 (ssh访问)

    git的服务器搭建,如果无需权限控制,仅团队内部使用,初始化一个服务器仓库,其他人通过ssh访问这个文件夹即可。如需复杂的管理,建议使用gitlab

    yum install git -y
    
    id git
    useradd git
    
    su git
    cd
    mkdir .ssh && chmod 700 .ssh
    touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
    cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
    
    mkdir -p /opt/git/repo.git
    git init --bare /opt/git/repo.git
    chown -R git:git /opt/git
    
    
    cat /etc/shells # see if `git-shell` is already in there. If not...
    which git-shell # make sure git-shell is installed on your system.
    vim /etc/shells # and add the path to git-shell from last command
    chsh git # and enter the path to git-shell, usually: /usr/bin/gitshell
    
    git clone git@ip:/opt/git/repo.git

    使用ssh -T git@ip 会看到一个提示

    fatal: Interactive git shell is not enabled.
    hint: ~/git-shell-commands should exist and have read and execute access.

    下面我们可定制欢迎信息,可通过git help shell查看到帮助。

    创建文件 /home/git/git-shell-commands/no-interactive-login

    内容如下:

    #!/bin/sh
    printf '%s
    ' "Hi $USER! You've successfully authenticated, but I do not"
    printf '%s
    ' "provide interactive shell access."
    exit 128

    配置权限:

    chmod 500 /home/git -R
    chown git:git /home/git -R
    

    再使用ssh -T git@ip ,提示会显示欢迎信息:

    Hi git! You've successfully authenticated, but I do not
    provide interactive shell access.

    参考:

    https://www.cnblogs.com/dee0912/p/5815267.html

    https://git-scm.com/book/zh/v2 - 服务器上的git

    git help shell

  • 相关阅读:
    EffectiveC++ 第4章 设计与声明
    EffectiveC++ 第3章 资源管理
    EffectiveC++ 第2章 构造/析构/赋值运算
    EffectiveC++ 第1章 让自己习惯C++
    C++实现离散数学的关系类,支持传递闭包运算
    Vi编辑器入门
    如何查看jdk的版本是32位还是64位
    跨域服务调用基本概念及解决方法
    解决MyEclipse不编译的方法
    网上拒绝复制方法解决
  • 原文地址:https://www.cnblogs.com/wswind/p/10399248.html
Copyright © 2011-2022 走看看