>之前换服务器了,准备在新服务器上弄一个git仓库,方便存代码,记录一下。
(没有托管到平台~)
## 1、安装git
```
yum install git
```
## 2、创建一个git用户
```
useradd git
```
## 3、创建自己的ssh证书
需要在我们本地进行操作,不是服务器。
1. 先配置用户名和邮箱:(如果已经配置了则跳过)
```
git config --global user.name '名称'
git config --global user.email '邮箱地址'
```
2. 生成公钥和私钥
```
ssh-keygen -t rsa -C "邮箱地址"
```
回车后会看到ssh文件保存的路径(直接回车),我选择默认路径,即最后一行显示的、 保存在了c盘的这个位置中,我本地保存在 C:/Users/Administrator/.ssh
紧接着会让你输入密码(会有2次确认,简短的英语很好理解的)。默认保持不输入(也是直接回车,避免每次clone代码都需要输入密码的麻烦)
然后我们到刚才提示的c盘的目录中,找到我们需要的ssh文件。
```
私钥:id_rsa
公钥:id_rsa.pub
```
然后把id_rsa.pub里面的内容放到服务器上
3. 导入自己的ssh证书
在服务器找到 /home/git/.ssh/authorized_keys, 没有的话需要自己创建。
把id_rsa.pub里面的内容复制到 authorized_keys
>/home/git 下的文件所有者必须是git,.ssh的权限为最少700或者755 authorized_keys权限最少为600
## 4、创建一个仓库目录
选择一个空目录作为仓库,这里我是创建一个新的文件夹 /src
切换到 /src 目录
执行 git init --bare test.git
## 5、更改仓库所有者和权限
```
chown -R git:git test.git
```
## 6、禁止linux使用git的ssh登录
>这里禁止的意义是为了服务器的安全性,避免从git的ssh可以直接登录服务器
编辑/etc/passwd文件
```
找到 : git:x:1001:1001:,,,:/home/git:/bin/bash
改为 : git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
```
>可能用到的命令:修改ssh后,有可能需要重启ssh才能生效
SSH重启: service sshd restart
SSH启动: service sshd start
以上步骤都完成后,就可以试着把服务器的代码clone下来了。
由于是在自己服务器所搭建,所以git文件的url如下:
```
git@ip地址:/home/git/src/test.git
```
>ip地址很好理解,而url后面的 /srv/test.git 则是git文件在服务器上的位置,如果仓库在其他目录,那么/srv/test.git换成你对应的文件目录即可。
-e8cfbaf6493d499caab491b5f7ad7d27.jpg)
Linux上搭建自己的git仓库