搭建自己的git服务器并免密登录

Author Avatar
yyq 2023-02-18 23:29:00
  • 二维码

搭建自己的git服务器并免密登录

        git代码管理工具是比较常用的版本控制器,如果不想将仓库放在github上,可以在自己的服务器搭建,也方便代码的同步发布。记录下相关的操作步骤及需要注意的地方

        一:搭建git服务器

            NO1:搭建服务器系统为centos7,其他版本基本操作也是差不多,执行安装git命令:

                    yum install -y git (-y表示安装过程中所有的提示选择yes)

            

            NO2:安装完成后创建专用git用户组与git用户,命令:

                    groupadd git 

                    adduser git  


            NO3:进入git用户目录创建相应的目录文件并设置权限(据说很重要),操作如下:

                    cd /home/git

                    mkdir .ssh

                    chmod 700 .ssh

                    touch .ssh/authorized_keys

                    chmod 600 .ssh/authorized_keys


            NO4:将git用户目录下文件都所属git组的git用户,命令:

                    cd /home

                    chown -R git:git git 


            NO5:建立线上仓库,操作如下:

                    cd /home

                    mkdir gitrepo

                    chown git:git gitrepo

                    cd gitrepo

                    git init --bare myprj.git

                    chown -R git:git myprj.git


      二:配置本地能免密操作

            NO6:禁用git登录服务器

                    vi /etc/passwd

                    找到git数据部分   git:x:1003:1003::/home/git:bin/bash 修改为git:x:1003:1003::/home/git:/usr/bin/git-shell


            NO7:修改ssh配置文件

                    vi /etc/ssh/sshd_conf

                    找到 #PubkeyAuthentication yes

                    去掉前面的#,在下面新增一项 RSAAuthentication yes(有人说没有啥用,反正可以加上,免得报错)

                    最后重启动ssh服务 service sshd restart


            NO8:本地安装git软件,完成后执行如下命令(xx按照自己的名称邮箱填写):

                    git config --global user.name "xxx"

                    git config --global user.email "xxx@xxx"

                    ssh-keygen -t rsa (执行后一直按enter即可)


            NO9: 在目录C:\Users\Administrator\.ssh下找到生成的公钥文件id_rsa.pub

                    拷贝里面的内容,复制到服务器上,位置是NO3中创建的authorized_keys文

                    注意可能会需要去掉末尾的换行,没有就不管

        

            NO10:最后在本地拉取线上仓库命令:git clone git@服务器ip:/home/gitrepo/myprj.git


            NO11:好了,如果不出意外,应该就没啥事,后面再操作下提交的代码使用钩子发布


上一篇 返回列表 下一篇

发表评论

Tips:评论内容请文明用语