- 在服务器中创建一个新用户
adduser git
- 创建一个git仓库
//切换到希望存储的路径
cd /home/git
//创建一个git仓库
git init --bare firstproject.git
//将firstproject.git的所有权从root修改到新创建的git
chown -R git:git firstproject.git
3.服务器中打开RSA认证
在文件/etc/ssh/sshd_config中添加下列三行内容:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
创建用于存放客户端公钥的文件
cd /home/git //切换到刚刚创建的git用户目录下
mkdir .ssh
cd .ssh
vim authorized_keys //创建用于存放客户端公钥的文件
- 在客户端创建SSH key
//该命令会在用户主目录的.ssh文件夹下生成两个文件:用于保存私钥的id_rsa和用于保存公钥的id_rsa.pub
ssh-keygen -t rsa -C "**********@qq.com"
把生成的公钥导入服务器
将生成的id_rsa.pub中的内容拷贝到服务器文件/home/git/.ssh/authorized_keys在客户端添加远程仓库
git remote add origin git@115.159.211.47:/home/git/firstproject.git
git push -u origin master
- 禁止用户通过shell进行登录
由于进行了步骤4和步骤5的设置,此时客户端可以通过ssh git@115.159.211.47 直接登录到服务器,如需禁止,修改文件/etc/passwd:
将git:x:1000:1000::/home/git:/bin/bash
修改为:git:x:1000:1000::/home/git:/usr/bin/git-shell