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

 

.客户端 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服务器

Linux 环境 搭建Git 服务器,并且修改SSH端口使用的更多相关文章

  1. Windows/Linux 环境搭建Git服务器 + vs2012集成git

    1. 下载.安装Git 我的系统是Windows 7,需要安装Git for Windows. 下载地址: http://code.google.com/p/msysgit/downloads/lis ...

  2. 【转】在Linux下搭建Git服务器

    在 Linux 下搭建 Git 服务器 环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows. ...

  3. 【转】Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍

    Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍 FTP 是File Transfer Protocol(文件传输协议)的英文简称,它基于传输层协议TCP建立,用于Interne ...

  4. 在linux中搭建git服务器

    个人觉得, 以下搭建git服务器的过程就像是在linux增加了一个用户, 而这个用户的登录shell是 git-shell, 太刨根问底的东西我也说不清楚, 还是看下面的过程吧. 过程参考了网上的文章 ...

  5. Linux Ubuntu搭建git服务器

    1. 安装 openssh-server ,用于创建SSH服务. sudo apt-get install openssl-server 使用命令ps -e|grep ssh,查看ssh服务是否启动. ...

  6. 在 Linux 下搭建 Git 服务器

    环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows.1) ① 安装 Git Linux 做为 ...

  7. 在Linux下搭建Git服务器的方法是什么样?

    第一步 安装git:可以通过命令的方式快速安装,不同的linux的安装方法可能不一样,我的是采用的yum方法.ubuntu可以用apt-get命令.sudo yum install git 第二步 添 ...

  8. linux 简单搭建git服务器

    如果使用git的人数较少,可以使用下面的步骤快速部署一个git服务器环境. 1. 生成 SSH 公钥 每个需要使用git服务器的工程师,自己需要生成一个ssh公钥进入自己的~/.ssh目录,看有没有用 ...

  9. 在Linux下搭建Git服务器步骤

    环境: 服务器 CentOS6.6 + git(version 1.7.1) 客户端 Windows10 + git(version 2.8.4.windows.1)  ① 安装 Git Linux ...

随机推荐

  1. 一个帖子csrf的例子

    服务端 <?php $conn=mysqli_connect('localhost','root','root','csrf'); $data=$_POST; $user=$_POST['use ...

  2. Debian8.8解决双系统访问windows磁盘时,有时能成功挂载,有时不能成功挂载的情况

    1.确保在debian下安装了挂载工具.2.进入windows关闭windows快速启动功能,关闭办法是控制面板,在电源管理中,选择关闭盖子的功能,点击“更改不能更改的选项”,去掉快速启动的钩,重启进 ...

  3. 03.pipeline实现项目自动编译docker镜像自动打包

    https://jenkins.io/zh/doc/book/pipeline/ 官方教程,可以中文.Jenkinsfile就是把pipeline内容保存到文件,然后提交到svn等版本控制库中.安装b ...

  4. Python语言学习:pyc是什么

    一.pyc 1.PyCodeObject:是python编译器真正编译成的结果 当python程序运行时,编译的结果是保存在位于内存中的PyCodeObject中.当python程序运行结束时,pyt ...

  5. Office、VBA开发方案选择指南

    最近很多朋友向我提出Office的开发方式方面的疑惑,主要是针对特定的系统和Office版本不知道选择哪一种编程语言.创建哪一种类型的项目. 事实确实如此,如果搞不清楚语言的特性和项目类型的特点,很可 ...

  6. navicat中执行PostgreSQL错误解决:ERROR: current transaction is aborted, commands ignored until end of transaction block

    错误出现: 含有错误的查询后,选中insert语句无法执行,报错current transaction is aborted, commands ignored until end of transa ...

  7. day16-封装(私有静态属性、私有属性、私有方法、类方法、静态方法)

    # 一: class P: __age = 30 #私有静态属性 def __init__(self,name): self.__name = name #私有属性:属性名前面加上双下划线是私有属性. ...

  8. Eclipse 快捷键(mac)

    Option + Command + X: 运行Command + O:显示大纲Command + 1:快速修复Command + D:删除当前行Command + Option + ↓:复制当前行到 ...

  9. 在服务器搭建git服务器

    服务端操作 安装Git及创建用户组.用户 123 yum install gitgroupadd gitadduser git -g git 禁止用户git登录 修改/etc/passwd文件: 找到 ...

  10. continuing|offensive

    the fact of something continuing for a long period of timewithout being changed or stopped 连续性,持续性,连 ...