文档章节

Linux 下 git 安装 远程服务搭建

j
 jims
发布于 2015/11/09 09:20
字数 874
阅读 103
收藏 5

 

 

 

系统环境:

  • CentOS 6.6 x86_64
  • 服务端 IP:192.168.2.45

本文针对 git 的 SSH 协议,搭建远程服务。与创建一个普通用户,通过 SSH 协议授权访问的操作思路完全一致, 只不过服务端与客户端在操作项目时都使用 git 而已,服务搭建十分简单。当然更多更详细的配置还是要看 git 手册。

安装 git

# yum install git

添加 git 用户

用户名可以随便起,我这里创建一个以 git 为名称的用户:

# adduser git

禁止 git 用户登录,修改 /etc/passwd 文件,将:

git:x:501:501::/home/git:/bin/bash

改为:

git:x:501:501::/home/git:/usr/bin/git-shell

如果你创建的是其他的用户名,修改对应用户名的登录方式为 /usr/bin/git-shell。

 

Git SSH Key 生成步骤

 

 一 、

设置Git的user name和email:

$ git config --global user.name "xuhaiyan"
$ git config --global user.email "haiyan.xu.vip@gmail.com"

 

二、生成SSH密钥过程:
1.查看是否已经有了ssh密钥:cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除
2.生存密钥:

$ ssh-keygen -t rsa -C “haiyan.xu.vip@gmail.com”
按3个回车,密码为空。


Your identification has been saved in /home/tekkub/.ssh/id_rsa.
Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.
The key fingerprint is:
………………

 

最后得到了两个文件:id_rsa和id_rsa.pub

 

 

 

 

授权访问

免密码访问:收集客户端的 id_rsa.pub 公钥,追加到 /home/git/.ssh/authorized_keys:

# cat /path/to/some_client/id_rsa.pub >> /home/git/.ssh/authorized_keys

如果客户端有 root 权限或有 /home/git 目录的写权限可以使用:

# ssh user@server 'mkdir -p /home/git/.ssh && cat >> /home/git/.ssh/authorized_keys' < ~/.ssh/id_rsa.pub

使用密码访问

# passwd git 输入你想要设置的密码

如果你创建的是其他的用户名,修改对应用户名的密码。

创建 git 项目

假定我们将 git 项目统一放在 /opt/gitproj 目录下:

# mkdir -p /opt/gitproj

创建项目:

# cd /opt/gitproj/ # git init --bare sample.git

修改权限:

# chown -R git:git sample.git

我们先在本地克隆一份,后面在客户端提交文件时,可以在此处拉取验证:

# cd /tmp/ # git clone /opt/gitproj/sample.git/ Initialized empty Git repository in /tmp/sample/.git/ warning: You appear to have cloned an empty repository.

如果你只有一台服务器,git 服务和 web 服务都在上面,那么你可以考虑选择这种方法。

验证

客户端

$ git clone git@192.168.2.45:/opt/gitproj/sample.git Cloning into 'sample'... warning: You appear to have cloned an empty repository. Checking connectivity... done. $ cd sample/ $ echo 'first commit' > 1.txt $ git add 1.txt $ git commit -am 'update' $ git push Counting objects: 3, done. Writing objects: 100% (3/3), 220 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@192.168.2.45:/opt/gitproj/sample.git * [new branch] master -> master

如果出现 fatal: The remote end hung up unexpectedly 错误,使用 git push origin master 推送。

转到 服务端

现在我们到 /tmp/sample/ 目录下拉取最新提交的文件,验证一下:

# cd /tmp/sample/ # git pull remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. From /opt/gitproj/sample * [new branch] master -> origin/master # cat 1.txt first commit

到此我们的 git 服务就搭建完毕了,很简单那。

参考

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000 http://git-scm.com/book/zh/v1/服务器上的-Git-协议 http://git-scm.com/book/zh/v1/服务器上的-Git-架设服务器 http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
转载请注明出处。 本文地址:http://blog.aboutc.net/linux/71/git-remote-services-to-build-under-linux

 

git remote add with other ssh port:

1.

You can just do this:

git remote add origin ssh://user@host:1234/srv/git/example

 2.

You need to edit your ~/.ssh/config file. Add something like the following:

host ip
port xxx
IdentityFile ~/.ssh/id_rsa.pub

 

Host example.com
    Port 1234

本文转载自:http://blog.aboutc.net/linux/71/git-remote-services-to-build-under-linux

j
粉丝 4
博文 172
码字总数 30033
作品 0
合肥
私信 提问
Git 服务器搭建与客户端安装

大纲: 一、前言 二、搭建Git服务器 yum安装Git服务器 创建一个git用户,用来运行git服务 创建客户端登录证书 初始化Git仓库 禁用shell登录 克隆远程仓库 三、安装客户端 Windows 客户端 Li...

陈明乾
2018/07/02
0
0
搭建属于你自己的 Git 服务器

在本文中,我们的目的是让你了解如何设置属于自己的Git服务器。 Git 是由 Linux Torvalds 开发的一个版本控制系统,现如今正在被全世界大量开发者使用。许多公司喜欢使用基于 Git 版本控制的...

07%
2018/07/23
0
0
git版本控制器的安装使用

git版本控制器的安装使用GIT服务 Git使用方法git init here // 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息、标记等内容git remote ...

D杀手D
2017/12/18
0
0
jenkins自动化搭建测试环境

简述 概念 Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部...

shzwork
05/29
34
0
首次使用 linux 阿里云服务器,入门及使用

安装环境 因为服务器默认 linux 系统,所以这里讲怎么配置 linux 云服务环境。 我第一次使用的时候,还以为是要去安装一个界面化桌面,以便我这个命令小白可以操作。但是,对于只有2G 的内存...

回眸一笑,似倾城
04/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

parseint和isNaN用法

本文转载于:专业的前端网站➭parseint和isNaN用法 <!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title></head><body><script> var a='12'; alert......

前端老手
18分钟前
3
0
Kylin 精确去重在用户行为分析中的妙用

作者:史少锋,Apache Kylin committer & PMC,2019/10/11 在上次文章《如何在 1 秒内做到大数据精准去重》中,我们介绍了 Apache Kylin 为什么要支持大数据集上的精确去重,以及基于 Bitmap...

ApacheKylin
29分钟前
3
0
学习记录(二) es6基本语法(rest参数,模板化,axios模块,拦截器)

日常学习记录 模块化:把一个大文件分成多个小文件,按照一定规范进行拼接 es5写法: 导出:module.exports = 数据 导入:require("路径") /路径未添加后缀名时 //默认添加.js //把路径作为文件名...

Pole丶逐
33分钟前
3
0
以程序员的角度怎么购买一台「性价比高的电视」

前俩天有小伙伴在我的文章下留言,说能否把 【国内电视机都介绍一下】,今天我已在TV端开发多年的程序员的角度。谈谈已程序员的角度如何购买一台性价比高的电视。 国内大的电视机品牌介绍 长...

我们都很努力着
36分钟前
2
0
PhotoShop 色调:理解直方图/RGB通道信息

一、直方图:图表的形式,展示图像像素分布的情况 1.平均值:表示平均亮度 2.标准偏差值:表示亮度值范围内的中间值 3.像素: 表示用于计算直方图的像素总数 4.色阶:显示指针下面的区域亮度...

东方墨天
42分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部