Osheep

时光不回头,当下最重要。

node项目部署——阿里云centos部署git服务

安装git

yum install -y git

我选择/data/git/demo.git作为仓库

mkdir -p /data/git      // 新建文件夹

cd /data/git            // 进入/data/git文件夹

git init --bare demo.git    // 创建一个裸仓库

关于–bare参数及其作用详情请看这篇文章传送门

创建git用户

adduser git

将learngit.git拥有者给到git用户

chown  -R git:git demo.git

在本地拉取demo仓库

git clone git@阿里云外网地址:/data/git/demo.git

第一,当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:

The authenticity of host 'xx.xx.xx.xx' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?

输入yes,后又要输入密码,输入密码,仓库成功拉取到了本地。但是一般都是用代替密码来验证的。

生成SSH Key密钥

在用户主目录下,看看有没有.ssh目录,.ssh里有没有id_rsa和id_rsa.pub两个文件。有代表你以前生成过密钥,不用重新生成。(我的之前生成的公钥一直要密码登录,但是重新生成后就没有问题了)

ssh-keygen -t rsa -C "email@example.com"        // 生成密钥

tips: 关于git的详细教程,不懂的可以移步廖雪峰老师的网站学习传送门

服务器配置git公钥验证

vi /etc/ssh/sshd_config     // 编辑配置文件

RSAAuthentication yes       // 去掉注释 #    
PubkeyAuthentication yes    // 去掉注释 #
AuthorizedKeysFile  .ssh/authorized_keys    // .ssh/authorized_keys 为公钥配置文件

.ssh/authorized_keys 在 /home/git文件下,故要新建文件

mkdir -p /home/git/.ssh         // 新建文件夹
touch authorized_keys           // 新建文件

复制本地git生成的id_rsa.pub文件中内容,粘贴到authorized_keys中,保存。

git clone git@阿里云外网地址:/data/git/demo.git

发现不要密码也可以拉取仓库了。

禁用git用户的shell登陆

处于安全考虑,git用户不能通过shell登录。

git:x:1002:1002:,,,:/home/git:/bin/bash     // 将这句改成下面这句

git:x:1002:1002:,,,:/home/git:/usr/bin/git-shell

到此,git的配置就完成了。

点赞