环境:
1、服务器:阿里云服务器ECS
2、服务器系统:centos7
3、本机:mac
一般系统会默认内置OpenSSH,如果没有,请自行安装。通过命令 ssh -V 查看是否安装
查看ssh版本
建议切换到root账号
#切换root
su root
#安装
yum install -y git
# 验证是否安装成功
git --version
$ adduser git
# 修改git的密码
$ passwd git
# 然后两次输入git的密码确认后。
# 查看git是否安装成功
$ cd /home && ls -al
# 如果已经有了git,那么表示成,参考如下:
drwxr-xr-x. 5 root root 4096 Apr 4 15:03 .
dr-xr-xr-x. 19 root root 4096 Apr 4 15:05 ..
drwx------ 10 git git 4096 Apr 4 00:26 git
# 默认还给我们分配一个名字叫git的组。
创建git用户并设置密码
home下git目录证明创建成功
1.切换到git账号
$ su git
# 2.进入 git账户的主目录
$ cd /home/git
# 3.创建.ssh的配置,如果此文件夹已经存在请忽略此步。
$ mkdir .ssh
# 4. 进入刚创建的.ssh目录并创建authorized_keys文件,此文件存放客户端远程访问的 ssh的公钥。
$ cd /home/git/.ssh
$ touch authorized_keys
# 5. 设置权限,此步骤不能省略,而且权限值也不要改,不然会报错。
$ chmod 700 /home/git/.ssh/
$ chmod 600 /home/git/.ssh/authorized_keys
1、查看是否有密钥文件,在/Users/用户名/.ssh 下面
2、如果没有,使用命令ssh-keygen -t rsa 生成,回车默认即可
3、有两个文件id_rsa.pub (公钥)和id_rsa(私钥)
4、把公钥文件 id_rsa.pub的内容复制到服务器中/home/git/.ssh/authorized_keys 里面,
注意如果有多个人同时访问,则每个人的公钥内容是追加不是覆盖
# 切换到git账号
$ su git
# 进入git账号的用户主目录。
$ cd /home/git
# 在用户主目录下创建 test.git仓库的文件夹
$ mkdir test.git && cd test.git
# 在test.git目录下初始化git仓库
$ git init --bare
# 输出如下内容,表示成功
Initialized empty Git repository in /home/git/test.git/
git init --bare 是在当前目录创建一个裸仓库,也就是说没有工作区的文件,
直接把git仓库隐藏的文件放在当前目录下,此目录仅用于存储仓库的历史版本等数据。
#可以在webroot目录下,克隆一个目录,以后代码可以直接在这更新
#git clone /home/git/test.git testDemo
git clone git@ip:/home/git/test.git testDemo
客户端下载代码
客户端可以直接通过shell远程登录服务器,这不安全。
1、创建目录 git-shell-commands
$ su git
$ mkdir /home/git/git-shell-commands
2、修改/etc/passwd文件
su root
vim /etc/passwd
# 找到这句, 注意1000可能是别的数字
git:x:1000:1000::/home/git:/bin/bash
# 改为:
git:x:1000:1000::/home/git:/bin/git-shell