Cent os7创建git服务器

本文详细记录了在CentOS7服务器上搭建Git服务器的过程,包括安装Git、创建用户及仓库、配置SSH密钥、禁用Shell权限等步骤,以及解决权限问题和git-shell配置的常见问题。

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

自己有一台centos7的服务器,想在上面搭建一个git服务器,以下是我搭建的过程及采坑记录。

  1. 查看自己服务器是否有安装git:

    查看命令:git --version

    如果服务器没有安装git,安装命令如下:

    使用yum安装:yum install git

  2. 添加git用户及设置用户密码:
    useradd git
    passwd git

  3. 创建用户之后,会自动在home目录下生成git用户的文件夹(git)

  4. 创建git仓库,命名为stonelalala.git
    切换到git文件夹,mkdir stonelalala.git
    切换到stonelalala.git
    初始化仓库:git init --bare
    不使用--bare选项时,就会生成.git目录以及其下的版本历史记录文件,这些版本历史记录文件就存放在.git目录下;而使用--bare选项时,不再生成.git目录,而是只生成.git目录下面的版本历史记录文件,这些版本历史记录文件也不再存放在.git目录下面,而是直接存放在版本库的根目录下面
    修改文件夹所有者:chown -R git:git stonelalala.git

  5. 安装windows客户端git
    创建用户:git config --global user.name '你的名字‘
    添加邮箱:git config --global user.email '你的邮箱’

  6. 将linux服务端与windows客户端关联起来
    打开git bash生成ssh key
    命令:ssh-keygen -t rsa -C “邮箱”
    生成ssh私钥和公钥,生成的文件在用户文件夹下的.ssh文件夹下面

  7. git服务端打开rsa认证,/etc/ssh/sshd_config,修改为

    重启sshd,命令:/etc/rc.d/init.d/sshd restart

  8. 在服务端的git文件夹下创建.ssh文件夹,添加文件authorized_keys,将windows客户端生成的公钥写入该文件,一个用户一行。

    修改文件夹所有者 chown -R git:git .ssh
    修改.ssh文件夹权限(chomd 700 .ssh)以及authorized_keys(chmod 600 authorized_keys)权限

  9. 禁用git用户shell权限

  10. 客户端克隆仓库

    克隆的时候可能会提示permission deny,即使你输入的密码正确。
    这可能是git-shell没有添加到shells中,我们需要手动添加

    首先我们需要找到git-shell的安装位置,如果没有被添加在/etc/shells中,我们需要手动将其添加进去(通常git-shell路径为/usr/bin/git-shell)。

    接下来,我们就可以把默认的shell替换成git-shell了:

    $ sudo chsh git -s $(which git-shell)

     

  11. 之后我们就可以进行git clone操纵,因为git用户只能使用git-shell,不能使用ssh登陆,所有只能进行push/pull操作

  • 遇到的坑:1.禁用ssh登陆之后,git clone命令一直提示输入密码,但是输入正确密码之后,仍然提示错误,这个是因为没有将git-shell添加到/etc/shells的原因,添加之后可以解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值