搭建自己的git服务器、配置公钥私钥(解决每次 clone push需要密码问题)
前提条件:需要自己的服务器(废话唠叨一下- -!)
服务器的系统:CentOS 7,不会ssh远程登录服务器的出门左拐百度一下咯
服务器端
第一步:安装git
yum install -y git
安装完成后
第二步:添加git使用的用户和密码
useradd git #git 为你的用户名 不喜欢可以自己定义一个,但是定义后,下面的git都必须改为你对应的用户名!
passwd git #为新用户设置密码这步一定不能跳过,跳过后面clone的时候会提示输入密码的!!密码要8位数字以上!
提示:passwd: all authentication tokens updated successfully.证明密码设置成功
第三步:创建git仓库
选择一个目录作为你的仓库 例如/srv
cd /srv #进入创库目录
git init --bare aa.git #初始化项目测试目录
但是该目录拥有者不是git用户,我们必须把它改为git用户:
chown -R git:git aa.git #更改拥有者的用户,更改后:
服务器端工作暂时完成了,下面到客户端:
客户端
第一步:安装git软件 https://git-scm.com/downloads,一路next就可以安装完成了
安装完成后,打开git
第二步,设置你本地的用户名和email地址:
git config --global user.name "myname"
git config --global user.email "[email protected]"
第三步,生成公私钥:
ssh-****** -t rsa -C "[email protected]" 然后一直按enter;知道出现成功的图案:
id_rsa.pub你面的内容就是我们本电脑的公钥
复制该**到服务器端的/home/git/.ssh/authorized_keys文件中
注意:!!!!在/home/git/目录下ls -al 查看是否有.ssh目录!!
如果没有,自己新建一个.ssh目录和authorized_keys文件:
mkdir .ssh #创建目录
chown -R git:git .ssh #修改拥有者
cd .ssh
touch authorized_keys #创建keys文件
chmod 700 authorized_keys #修改文件权限
chown -R git:git authorized_keys#修改文件拥有者
第四步:把客户端电脑生成的**复制到authorized_keys文件中:
vim authorized_keys
然后按a,插入**,然后按ESC键,再输入 :wq 保存退出(也可以用winscp或者其他编辑器把**添加进去)
注意!!每个**占一行,如果想添加多个客户端电脑需要换行再添加下一个用户!
设置基本完成了,下面进行验证:
git clone [email protected]服务器地址:/srv/aa.git
出现下面提示证明成功了,注意:可能第一次clone 需要密码,成功之后就不需要每次输入密码,如果每次clone 或者push都需要密码肯定上面某个步骤错了,或者git用户权限不够,**填写格式错误,**文件和.ssh放置的目录不正确,要仔细检查一下。
本人专业水平有限,有什么错漏的地方请大神们指正,非常感谢。