zoukankan      html  css  js  c++  java
  • gitolite安装及配置

    1.客户端
    (1)使用ssh-keygen命令在当前用户根目录下生成密钥
    (2)将该密钥远程拷贝到gitserver服务器上:scp ~/.ssh/id_rsa.pub user@ip:/tmp/neu.pub
    2.git server服务器端
    (1)安装gitolite:sudo yum install gitolite
    (2)默认安装后,会生成一个gitolite用户,修改该用户密码:passwd gitolite
    (3)切换到gitolite用户:su - gitolite
    注:切换用户后,终端会显示提示符是:-sh-4.1$
    (4)通过命令创建初始用户:gl-setup /tmp/neu.pub
    注:该命令会将客户端的neu用户,添加到gitolite-admin工程中,具有管理gitolite-admin的权限

    3.回到客户端
    (1)在客户端的根目录下的.ssh目录下创建文件config,即:~/.ssh/config,添加如下内容:
    host gitserver
    user gitolite
    hostname 192.168.1.8(Gitサーバのホスト名 or IP)
    port 22
    identityfile ~/.ssh/admin(秘密鍵のPATH)

    (2)使用git clone ssh://gitserver/testing下载测试工程,如果下载成功,则证明安装成功。再下载gitolite-admin工程,进行用户管理。

    如果有以下错误:
    Initialized empty Git repository in /home/neu/testgit/testing/.git/
    Bad owner or permissions on /home/neu/.ssh/config
    fatal: The remote end hung up unexpectedly

    解决办法:chmod 600 config


    4.用户管理:
    (1)将用户的密钥拷贝到git server的/tmp目录下,并重命名。
    (2)在用户根目录下的.ssh目录中创建config文件。
    (3)在git server服务器上,切换到gitolite用户后,用“gl-setup /tmp/neu.pub”命令创建用户。
    (4)在gitolite-admin工程中的配置文件中赋予权限并提交工程。
    (5)用户可以使用"git clone ssh://gitserver/testing"命令下载工程。

    笔者在做第四步操作时,尝试将用户的公钥直接添加到gitolite-admin工程中,来替换第三小步,但是提交工程后,在用户下clone时,出现了以下问题,可能是公钥的权限问题导致,目前还未进一步调查。

    Initialized empty Git repository in /home/neu/testgit/testing/.git/
    Address 172.30.1.134 maps to pc1397.neusoft.co.jp, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
    gitolite@172.30.1.134's password:
    fatal: '/testing' does not appear to be a git repository
    fatal: The remote end hung up unexpectedly

    出现以下错误,就是没有权限,说明配置成功。
    Initialized empty Git repository in /home/neu/testgit/gitolite-admin/.git/
    Address 172.30.1.134 maps to pc1397.neusoft.co.jp, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
    R access for gitolite-admin DENIED to iot8
    (Or there may be no repository at the given path. Did you spell it correctly?)
    fatal: The remote end hung up unexpectedly

    转载请注明出处:http://www.cnblogs.com/gaojiang/p/6670233.html

  • 相关阅读:
    C#线程池
    C#.Net前台线程与后台线程的区别
    ASP.NET Core 2.1 : 十五.图解路由(2.1 or earler)(转)
    ASP.NET Core 2.1 : 十四.静态文件与访问授权、防盗链(转)
    ASP.NET Core 2.1 : 十三.httpClient.GetAsync 报SSL错误的问题(转)
    ASP.NET Core 2.1 : 十二.内置日志、使用Nlog将日志输出到文件(转)
    ASP.NET Core 2.1 : 十一. 如何在后台运行一个任务(转)
    ASP.NET Core 2.1 : 十.升级现有Core2.0 项目到2.1(转)
    ASP.NET Core 2.0 : 九.从Windows发布到CentOS的跨平台部署(转)
    ASP.NET Core 2.0 : 八.图说管道,唐僧扫塔的故事(转)
  • 原文地址:https://www.cnblogs.com/gaojiang/p/6670233.html
Copyright © 2011-2022 走看看