CentOS下安装git服务,并实现无密码访问

CentOS下安装git服务,并实现无密码访问
git服务器是基于ssh访问,所以运行在linux服务器中是比较理想的,下面是在Centos6.5下安装git服务的经过
1、安装git
yum install git
2、创建git用户:
sudo useradd git (创建名称为git的用户)
sudo passwd git (git用户对应的密码也是git)
3、创建git仓库:
sudo mkdir /home/git/git_repository
4、创建服务器仓库,并且将拥有者修改为git:
cd /home/git/git_repository
sudo git init --bare test1.git
sudo chown -R git:git test1.git
5,禁用shell登录:
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
6、客户端访问,使用tortoisegit客户端clone工程:
git clone git@server:/home/git/git_repository/test1.git
会提醒输入密码,输入后,既可以实现同步
7、如果要实现无密码访问,可以使用公钥:
1)在连接的客户端本地生成公钥(如果是windows,就在gitbash下面):
ssh-keygen -t rsa -C "your email"
2)、我的文件生成在C:\Users\yonghu\.ssh下面,里面会找到两个文件:
id_rsa是私钥
id_rsa.pub是公钥
3)把上面这个公钥文件~/.ssh/id_rsa.pub(C:\Users\yonghu\.ssh\id_rsa.pub)内容上传到git服务器,保证git用户可读
服务器在su到git用户状态时输入  cat id_rsa.pub >> /home/git/.ssh/authorized_keys
如果/home/git下没有.ssh文件夹,则要进行创建:
cd /home/git
mkdir .ssh
cd .ssh
cat id_rsa.pub >> /home/git/.ssh/authorized_keys
sudo chown -R git:git /home/git/.ssh
如果没有/home/git文件夹,则可以放在git用户能找到的地方,比如~/.ssh/authorized_keys
4)添加后,客户既可以实现免密码访问了。

参考:5个步骤给自己搭建一个简单的GIT服务器: https://blog.csdn.net/zhuxiaoping54532/article/details/53813437

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值