搭建自己的git服务器并免密登录
搭建自己的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:好了,如果不出意外,应该就没啥事,后面再操作下提交的代码使用钩子发布