第一步.安装git服务
yum install git
第二步.创建git用户
adduser git
第三步开启公钥验证
vi /etc/ssh/sshd_config
讲文件中的
#PubkeyAuthentication yes
#最前方的#删掉
PubkeyAuthentication yes
重启ssh服务
service sshd restart
第四步生成git登录公钥
安装完成 git客户端之后,本地CMD中执行
git config --global user.name "你的名字" git config --global user.email "你的邮箱"
一路回车,生成用户公钥文件(id_rsa.pub)
ssh-keygen -t rsa -C "你的邮箱"
若未改变目录,到 C:\Users\Administrator\.ssh\id_rsa.pub 找到.ssh目录下的id_rsa.pub文件,使用notepad++或其他软件打开,复制其中全部内容,待加入到服务器的authorized_keys 文件内
第五步 设置免密码登录
收集所有需要登录的用户的公钥(id_rsa.pub
)文件,把所有公钥导入到 authorized_keys 文件内,一行一个。
authorized_keys的位置是在:如果你创建了用户username,那该文件应该创建在/home/username/.ssh/authorized_keys;如果你使用的是root用户,该文件应该创建在~/.ssh/authorized_keys(即root/.ssh/authorized_keys)。先创建个随意内容的文件夹,在设置完成权限之后再添加用户公钥
cd /home/git
mkdir .ssh
cd .ssh
vi authorized_keys
设置权限
chmod 700 /home chmod 700 /home/git chmod 700 /home/git/.ssh chmod 600 /home/git/.ssh/authorized_keys chown git /home chown git /home/git chown git /home/git/.ssh chown git /home/git/.ssh/authorized_keys
添加用户登录公钥
vi authorized_keys
第六步初始化git仓库
cd /usr mkdir git cd git git init --bare test.git
chown -R git:git test.git
第七步禁用shell登录
禁用shell登录:
处于安全的考虑,第二步创建的git用户不允许登录shell,这可以通过编辑 /etc/passwd
文件完成。
git:x:1003:1003::/home/git:/bin/bash
改为
git:x:1003:1003::/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
第八步克隆远程仓库
设置git信息
git config --global user.name "你的名字" git config --global user.email "你的邮箱"
克隆远程仓库:
现在,可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:
git clone git@服务器IP:/usr/git/test.git
如果服务器的ssh端口不是默认的22的话,比如说6789,可以这样写:
git clone ssh://git@server:6789/home/git/test.git
摘自:
https://www.jianshu.com/p/0c939f63af41
https://www.cnblogs.com/liter7/p/6581344.html
http://blog.51cto.com/11366698/1793600