Setup git server

本文介绍如何利用SSH协议实现无密码访问Git库,简化多人协作下的git clone/pull/push命令同步代码库流程。通过服务器端创建Git用户、初始化代码库、配置用户认证等步骤,实现安全、便捷的Git代码库管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文目的用户可以直接通过git命令checkin、chekout代码。通过使用ssh协议,用户不用输入密码,就可以访问git库。
例如,为了达到多个用户直接运行git clone/pull/push命令同步git代码库。

git clone git@192.168.0.100:~/simple.git


  • 软件安装
apt-get install sshd git ssh

服务器端创建git用户

su root

adduser git  --disabled-password--home /home/git

mkdir ~/.ssh

ssh-keygen -t dsa -f ~/.ssh/id_dsa

服务器git用户添加设置客户认证

 

su git

cd .ssh

touch authorized_keys2

chmod 600 authorized_keys2


以上操作与git没有半毛钱关系。


初始化git代码库

mkdir ~/simple.git

cd ~/simple.git

git init --bare --shared

新的git库名字叫simple。

禁止git用户登录

为了防止授权用户登录服务器做其他事情,所以我们要禁止用户登录shell。这个跟git也没太大关系。。。。。。。Setup <wbr>git <wbr>server

su root

usermod git --shell /usr/bin/git-shell

客户端设置

客户可以使任何系统只要有支持ssh的工具即可。客户端只要提供公钥即可,公钥与客户的用户名系统无关,不需要用户名和服务器用户名一样。

只要把生成的客户公钥告诉服务器即可。

生成公钥

ssh-keygen -f ~/.ssh/id_rsa

把刚生成的~/.ssh/id_rsa.pub文件发给出即可。

发送客户端公钥给服务器管理员

管理员添加用户公钥后客户端可以执行下面的命令。

ssh -l git 192.168.0.100

只要不提示输入密码,直接显示欢迎信息就ok了。

参数中git是服务器上的用户名,跟客户端用户名无关。

 


git服务器管理员添加用户公钥

服务器管理员只要把收到的公钥,添加到git用户的 authorized_keys2文件即可。

catuser.pub>>~/.ssh/authorized_keys2




http://blog.sina.com.cn/s/blog_71f83a920100znoh.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值