工作中的代码要做一次迁移,于是自己尝试搭建了一个Git服务器用以管理代码。
1.远程登录服务器,首先需要安装Git
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git
安装成功之后,需要创建一个名为“git”的用户(可以是任意名字)和一个用户组,并设置用户组密码
$ groupadd git
$ adduser git-g git
$passwd git #设置git的密码
2.创建证书登录
收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
如果没有该文件创建它
$ cd/home/git/$ mkdir.ssh
$ chmod700.ssh
$ touch.ssh/authorized_keys
$ chmod 600.ssh/authorized_keys
3.初始化Git仓库
$ cd/home
$ mkdir codeHouse
$ chown git:git codeHouse/
$ cd codeHouse
$ git init--bare gitTest.git #git命令创建新的空仓库 ,gitTest为仓库名称,可与项目名称一致
Initializedempty Git repository in /home/codeHouse/gitTest.git/
把仓库所属用户改为git:
$ chown-R git:git gitTest.git
构建完成,本地即可连接服务器进行“clone”操作
$ git clone git@xxx.xxx.xx.x:/home/codeHouse/gitTest.git
需要注意的是,现在clone会提示让你输入密码,输入的密码就是本文开头设置的用户组密码
如果不想每次进行操作都输入密码,则需要在/home/git下创建.ssh目录,然后创建authorized_keys文件,把id_rsa.pub里面的内容复制到authorized_keys文件中,并打开服务器的RSA验证
在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开:
RSAAuthentication yes
PubkeyAuthenticationyes
AuthorizedKeysFile .ssh/authorized_keys
至此,git服务器搭建完成
但是首次clone是出现了这个错误提示
protocol error: bad line length character: This
查了一下后再Stack Overflow找到答案