快速在linux上搭建基于git+ssh的服务器


在主机上建立一个 git 账户,让每个需要写权限的人发送一个 SSH 公钥,然后将其加入 git 账户的~/.ssh/authorized_keys 文件。这样一来,所有人都将通过 git 账户访问主机。这丝毫不会影响提交的数据 — 访问主机用的身份不会影响提交对象的提交者信息。

Step 1:服务器端创建用户(git)

# sudo addusergit

Step 2:客户端生成公钥,并

 创建公钥:ssh-keygen,

在客户端的用户目录下查看生成的公钥和私钥对

#cd ~/.ssh

#ls

id_dsa        id_dsa.pub

公钥所在的目录:windows在”C:/User/username/.ssh”目录下,linux在”~/.ssh”,~代表用户目录

step 3:服务器git用户下添加各个用户公钥,并配置ssh服务

将各个用户的公钥文件追加在服务器git用户的authorized_keys文件中

$ cat  id_rsa.john.pub >> ~/.ssh/authorized_keys
$ cat  id_rsa.josie.pub >> ~/.ssh/authorized_keys
$ cat  id_rsa.jessica.pub >> ~/.ssh/authorized_keys
修改.ssh和authorized_keys的权限).忘记下面的话,会每次输入密码,(ps,被这个坑了好久)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Step 4,在git用户下创建git库

cd gitDIR

mkdir project.git

cd project.git

git init –bare

step 5,客户端使用

 提交自己的库

mkdir project

cd project

git init

vi first.txt

git remote add origin gitserver/gitDIR/project.git

git push origin master

 克隆:git clonegit@gitserver/gitDIR/project.git

Step 6,限制开发者登陆

默认情况下,能够连接git服务器用户也可以通过ssh直接登陆服务器,那么服务器将会存在被多用户登入的风险,限制的方法是:

Vi /etc/passwd

git:x:1000:1000::/home/git:/bin/sh

该行修改后的样子如下:

git:x:1000:1000::/home/git:/bin/git-shell

相关内容