git服务器搭建和免密码设置

服务器(存放git仓库)创建git用户并设置密码,创建git仓库,并在客户端创建私钥,将公钥放到服务器。

1、服务器创建git用户并设置密码

useradd git
passwd git (设置一个很复杂的密码)

2、服务器创建git仓库(关键步骤)

mkdir -p /data/git/gittest.git
git init --bare /data/git/gittest.git
chown -R git:git /data/git/gittest.git

其实到这一步,git已经能用了。比如在客户端电脑执行git clone git@host:/data/git/gittest.git就可以下载代码并进行提交推送和更新。如果服务器ssh端口号不是默认的22,那么命令为git clone ssh://git@host:port/data/git/gittest.git(前面增加ssh://协议,后面增加port)。注意:host是服务器域名或IP,port是sshd的端口号。
但我们更希望使用公钥私钥来管理git,防止别人暴力破解。

3、免密码登录

首先客户端要创建公钥私钥对。执行命令ssh-keygen -t rsa,一路回车即可创建id_rsa,id_rsa.pub两个公钥私钥对文件。这两个文件一定要保管好!将id_rsa.pub文件的内容追加到服务器的git用户下的authorized_keys文件中。编辑文件也可以,执行命令也可以。比如将文件上传到linxu服务器后,执行cat id_rsa.pub >> /home/git/.ssh/authorized_keys。
当然,对于其他人如果也想免密码连接服务器,可以拷贝这两个文件给他们,放到C:\Users\dhn.ssh目录中即可。

4、测试ssh免密码登录

ssh git@host -pport
如果登录成功,那么git也可以使用ssh协议免密连接了。命令同第二步,只不过不需要输入用户名密码了。

至此,git服务器配置结束。但我还要介绍一下TorToiseGit使用免密连接git的用法,因为TorToiseGit连接服务器使用的是自带的TortoisePlink,我们把它修改为git软件自带的ssh.exe:
第一步、右键,点击TortoiseGit--设置
第二步:点击网络,设置SSH客户端路径为Git自带的ssh.exe的路径
这样,TortoiseGit也可以跟命令行使用git一样免密码连接刚才的服务器的git了。

另外:如果发现git命令无法clone项目,很可能是服务器的git没安装在默认位置,比如安装到了/usr/local/git/bin/git,这时候,需要创建两个软连接到/usr/bin里:
ln -s /usr/local/git/bin/git-receive-pack /usr/bin/ ln -s
/usr/local/git/bin/git-upload-pack /usr/bin/
git-upload-pack是clone用的,git-receive-pack是push用的,很显然,命名是从服务器的角度命名的。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值