Linux 环境 搭建Git 服务器,并且修改SSH端口使用

1.环境配置说明

服务器 CentOS 7 + git(git version 1.8.3.1)
客户端 Windows10 + SourceTree

2.安装 Git

服务器端安装:

sudo yum -y install git

查看安装版本

#git --version
git version 1.8.3.1

客户端安装

下载 SourceTree for Window 下载地址:https://www.sourcetreeapp.com

3.git 服务器端创建 git 用户,用来管理 Git 连接使用服务,并为 git 用户设置密码,并且注册此用户无许登录SSH权限

[root@localhost home]#id git
id: git: no such user
[root@localhost home]#groupadd -g 108 -r git && useradd -s /sbin/nologin -u 108 -r -g git git
[root@localhost home]#passwd git

 

4.在服务器端创建 Git 仓库

[root@localhost home]#mkdir -p /opt/data/test.git
[root@localhost home]#git init --bare /opt/data/test.git
Initialized empty Git repository in /opt/data/test.git/
[root@localhost home]#chown -R git:git /opt/data/test.git

 

5.使用SourceTree 客户端打开终端 创建SSH公钥与私钥证书

1.创建证书,请在注明邮箱地址填写自己使用使用邮箱,因后面clone 会有认证

$ssh-keygen -t rsa -C "请输入邮箱地址"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Steven/.ssh/id_rsa):直接回车
Enter passphrase (empty for no passphrase):可输入密钥密码
Enter same passphrase again:确定密钥密码
Your identification has been saved in /c/Users/Steven/.ssh/id_rsa. 密钥所存放的位置
Your public key has been saved in /c/Users/Steven/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ryzmTky3Ar0l+gHX8m53VPJ0iwRuez1YgDlzomaaPtM 
完整密钥这里会有你的邮箱地址
The key's randomart image is:
+---[RSA 2048]----+
|            o    |
|           B o   |
|          o * .  |
|     . . + o..o..|
|    o * S . o==..|
|     B X o ..+.+ |
|    . B + ...   .|
|     ooO.E. .    |
|     ++o*. .     |
+----[SHA256]-----+

 

2.在服务器上配置SSH 认证支持密钥

进入vim  /etc/ssh 目录,编辑 sshd_config,打开以下三个配置的注释:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

保存之后并重启 sshd 服务:

[root@localhost home]#systemctl restart sshd

因 AuthorizedKeysFile sshd_config 配置公钥的存放路径是 .ssh/authorized_keys,但实际上是 $Home/.ssh/authorized_keys,由于管理使用Git 服务的用户是 git,所以实际存放公钥的路径是 /home/git/.ssh/authorized_keys,同时把上一步所配置得到的id_rsa.pub 上传到服务器端

[root@localhost git]# pwd
/home/git
[root@localhost git]# mkdir .ssh
[root@localhost git]# ls -a 
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla .ssh id_rsa.pub

 

3.将客户端公钥导入服务器端 /home/git/.ssh/authorized_keys 文件

[root@localhost git]#cat id_rsa.pub >> /home/git/.ssh/authorized_keys

重要:

修改 .ssh 目录的权限为 700

修改 .ssh/authorized_keys 文件的权限为 777

[root@localhost git]# chmod 700 .ssh
[root@localhost git]# cd .ssh
[root@localhost .ssh]# chmod 777 authorized_keys 

 

 

6.客户端 SourceTree clone 远程仓库

重点注意:如果SSH 修改默认端口,配置方式跟默认并不一样

正常未修改SSH 端口:

git clone git@192.168.10.10:/opt/data/test.git

 

修改SSH端口配置方式

ssh://git@192.168.10.10:32569/opt/data/test.git

 

以上配置完成可正常使用

参考:在CentOS下搭建自己的Git服务器

 

posted @ 2017-03-10 22:11  Yee.Liu  阅读(5276)  评论(1编辑  收藏  举报