自己搭建git服务器以及常见问题

自建git服务器

个人博客—防止重复造轮子

Github

环境

1.Centos 7
2.git 1.8.3.1

正文

1.在服务器上安装git服务

yum install git

2.创建git用户,并切换到git用户

useradd git
passwd git
#设置密码
#确认密码
su git

3.初始化服务器端git仓库

cd /home/git
git init --bare test.git #创建test仓库

4.以上3步都是服务器操作,创建完成,然后在本地电脑上clone仓库,和使用github相同

#假设服务器ip为 1.2.3.4
git clone git@1.2.3.4:test.git
#输入密码

以上4步就可以完成在服务器上创建git仓库并在本地使用

但是!但是!但是!

你会用的很不爽

因为每次都要输入密码

所以再耐心的看下面的步骤吧

在本地生成公钥文件

ssh-keygen
#生成完毕后
cd ~/.ssh
#假设服务器ip为 1.2.3.4
scp id_rsa.pub git@1.2.3.4:~/.ssh/1.pub

回到git服务器端

mkdir /home/git/.ssh
chmod 700 .ssh
cd /home/git/.ssh 
ssh-keygen -t rsa 
touch authorized_keys
chmod 600 authorized_keys
#将本地传过来的公钥写入authorized_keys
cat 1.pub >> authorized_keys

完成上面两步之后,git clone就不需要密码啦!

但是!但是!但是!

不管用!还是提示要输入密码

查看原因

#在本地ssh链接git服务器 假设ip 1.2.3.4
ssh -vvT git@1.2.3.4

返回如下debug

debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/ouhaohan/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /Users/ouhaohan/.ssh/id_dsa
debug1: Trying private key: /Users/ouhaohan/.ssh/id_ecdsa
debug1: Trying private key: /Users/ouhaohan/.ssh/id_ed25519
debug2: we did not send a packet, disable method

解决

# 权限问题
# git服务器
su
cd /home/git
chmod 700 .ssh
cd .ssh
chmod 600 authorized_keys

猜你喜欢

转载自blog.csdn.net/m0_38092942/article/details/80699464