【ssh简单版git-server 1】git-server权限管理

环境:

    1.centos6.7

    2.git1.6.6+ perl5.8.8+ openssh5.0+  

    3.仓库用户,自加用户git

    4.ssh没有免密钥的用户

    git-server:192.168.50.108

    git-client: 192.168.50.112


部署:

    git-server:

        准备:如果仓库代码较多或项目较多占用空间大,可以指定家目录为其他位置。

           mkdir /usr/local/data/code -pv

           useradd -d /usr/local/data/code git

            

       

        1.使用git用户的环境操作,或修改git用户的shell切换后部署

            sudo -u git 

            git clone https://github.com/sitaramc/gitolite.git


            mkdir $HOME/bin

            ./gitolite/install -to $HOME/bin/

       

         2.本机或其他机器生成管理密钥(此处用root作为管理员)

            ssh-keygen -t rsa

            cp /root/.ssh/id_rsa.pub /tmp/

            mv /tmp/id_rsa.pub /tmp/admin.pub

            

          3.配置gitolite的管理员信息

              gitolite setup -pk /tmp/admin.pub

             ls

             logout

    

         4.管理员使用工具git-server(统一工具管理,此处环境是在管理员root下操作,如果提示需要密码则操作是错误的。)            

            git clone [email protected]:gitolite-admin

        

         5.创建库和添加用户,此处配置类似于svn(家目录默认两个仓库,如需配置自己的仓库需要初始化git init --bare /usr/local/data/code/repositories/another.git)

            cd gitolite-admin/ && ls (conf和keydir两个目录)

            注:conf记录用户的权限,keydir存放用户的pub公钥

             添加test用户RW+权限

            

                repo gitolite-admin

                    RW+     =   admin

                    RW+     =   test

         

            6.本机或其他机器做ssh公钥,此处选择本机test用户,也可以是其他主机的test用户

            [test@localhost ~]$ ssh-keygen 

            [test@localhost ~]$ scp .ssh/id_rsa.pub [email protected]:/tmp

    

             7.保存test用户pub密钥

            mv /tmp/id_rsa.pub keydir/test.pub

            cat /home/git/.ssh/authorized_keys

                

           

           8.修改后添加并push到远程

                git add conf

            git add keydir

            git commit -m 'added foo,bob '

            git push

           9.测试

            

注:如要在其他电脑上管理server按如下操作,如果需要帮助可以ssh [email protected] help

    

    git-client:

          1.参照git-server第二步生成ssh密钥

          2.参照git-server第三步添加管理员信息,再测

          3.参照git-server第四步和第五步,第七,第八步配置信息        

   

参考文档:https://github.com/sitaramc/gitolite

你可能感兴趣的:(ssh,密钥,简单)