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
.客户端 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
以上配置完成可正常使用
Linux 环境 搭建Git 服务器,并且修改SSH端口使用的更多相关文章
- Windows/Linux 环境搭建Git服务器 + vs2012集成git
1. 下载.安装Git 我的系统是Windows 7,需要安装Git for Windows. 下载地址: http://code.google.com/p/msysgit/downloads/lis ...
- 【转】在Linux下搭建Git服务器
在 Linux 下搭建 Git 服务器 环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows. ...
- 【转】Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍
Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍 FTP 是File Transfer Protocol(文件传输协议)的英文简称,它基于传输层协议TCP建立,用于Interne ...
- 在linux中搭建git服务器
个人觉得, 以下搭建git服务器的过程就像是在linux增加了一个用户, 而这个用户的登录shell是 git-shell, 太刨根问底的东西我也说不清楚, 还是看下面的过程吧. 过程参考了网上的文章 ...
- Linux Ubuntu搭建git服务器
1. 安装 openssh-server ,用于创建SSH服务. sudo apt-get install openssl-server 使用命令ps -e|grep ssh,查看ssh服务是否启动. ...
- 在 Linux 下搭建 Git 服务器
环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows.1) ① 安装 Git Linux 做为 ...
- 在Linux下搭建Git服务器的方法是什么样?
第一步 安装git:可以通过命令的方式快速安装,不同的linux的安装方法可能不一样,我的是采用的yum方法.ubuntu可以用apt-get命令.sudo yum install git 第二步 添 ...
- linux 简单搭建git服务器
如果使用git的人数较少,可以使用下面的步骤快速部署一个git服务器环境. 1. 生成 SSH 公钥 每个需要使用git服务器的工程师,自己需要生成一个ssh公钥进入自己的~/.ssh目录,看有没有用 ...
- 在Linux下搭建Git服务器步骤
环境: 服务器 CentOS6.6 + git(version 1.7.1) 客户端 Windows10 + git(version 2.8.4.windows.1) ① 安装 Git Linux ...
随机推荐
- 14 微服务电商【黑马乐优商城】:day03-springcloud(Hystix,Feign)
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...
- linux下别名的设定
命令别名设定功能: (alias)假如我需要知道这个目录底下的所有文件 (包含隐藏档) 及所有的文件属性,那么我就必须要下达『 ls -al 』这样的指令串,比较麻烦,我们可以为其设定别名为lm al ...
- TOJ-3474 The Big Dance(递归二分)
链接:https://ac.nowcoder.com/acm/contest/1077/L 题目描述 Bessie and the herd, N (1 <= N <= 2,200) co ...
- 二分法C++与Python
来源于Leetcode C++ int binarySearch(vector<int>& nums, int target){ if(nums.size() == 0) retu ...
- 感叹号在Linux bash中使用技巧
1. 重复执行上一条指令 !! [root@iZ23t6nzr7dZ python]# ls /usr/local/ aegis bin etc games include lib lib64 li ...
- python学习笔记(12)常用模块
一.模块.包 什么是模块? 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 什么是包? 包, ...
- html5页面编码如何确定
页面乱码问题建站学之前曾经多次发教程说明,对于新的html5来说我们的编码要如何做才能解决乱码问题呢?作为一个前端工程师,你是如何指定一个页面的编码的呢?你知道浏览器是怎么识别编码的吗? 首先,一个很 ...
- 86)PHP,PDO常用函数
(1) (2) 举例:假如我的sql语句有问题,那么我输出这两个函数所产生的信息. 还有一组函数: 分别是,开启事务,回滚事务,提交事务,判断是否处于事务中. errorInfo() 错误信 ...
- NI Vision 介绍
NI Vision主要包括三种主要软件包: 主程序包(Vision Acquisition Software), 视觉开发模块(Vision Development Module), 以及用于自动检测 ...
- Springmvc+Mybatis+shiro整合
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码学和会话管理.使用Shiro的易于理解的API,您可以快速.轻松地获得任何应用程序,从最小的移动应用程序到最大的网络 ...