1、安装git
首先在XShell 中输入
rpm -qa git
确认服务器是否安装Git
- 已经安装:
[root@iZ2zefeppj80v5yzpsyf4tZ ~]# rpm -qa git
git-1.8.3.1-14.el7_5.x86_64
[root@iZ2zefeppj80v5yzpsyf4tZ ~]#
- 未安装:
yum install git
2、创建一个git用户,用来运行git服务
- 在XShell中输入
# sudo adduser git
此时在阿里云服务器的根目录:/home文件夹下新增一个文件夹git- 按这个层级建立文件用于存放客户端用户生成的公钥:/home/git/.ssh/authorized_keys
vi authorized_keys
打开编辑 粘贴客户端的C:/.ssh/id_rsa.pub文件中的内容至这里。【需要几个粘贴几个公钥】
3、建立git仓库
- 新建一个文件夹
mkdir githuose
- 进入文件
cd githuose
初始化仓库git init --bare mygit.git
- 1、
cd mygit.git
2、ls
执行以上命令 Git命令,会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
4、禁止shell登录
注,出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
[root@git ~]# cat /etc/passwd | grep git
git:x:1001:1001:git version control:/home/git:/bin/bash
改为:
[root@git ~]# vim /etc/passwd
git:x:1001:1001:git version control:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。