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
以上配置完成可正常使用