git-搭建企业git服务器
1.安装 yum install git
2.增加用户 useradd git -d /home/git -g git
3.查看公钥鉴权文件是否存在 cat /home/git/.ssh/authorized_keys
4.不存在的话,新建
cd /home/git/
mkdir .ssh
chmod 755 .ssh
touch .ssh/authorized_keys
chmod 644 .ssh/authorized_keys
5.生成一个密钥对
ssh-keygen -t rsa -C "fallshum"
是否输入密码,默认,一路Enter往下走就行
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
1d:f1:b6:c9:42:2b:ab:1d:43:5a:72:fc:31:aa:38:9d fallshum
The key's randomart image is:
+--[ RSA 2048]----+
| . |
| o |
| o o |
| . o = o |
| . S * + |
| * = + |
| ...= . |
| ..E+ o |
| ..o . |
+-----------------+
5.1 把生成的公钥写入/home/git/.ssh/authorized_keys
,
cat /root/.ssh/id_rsa.pub >> /home/git/.ssh/authorized_keys
查看 cat /home/git/.ssh/authorized_keys
5.2
把私钥放到客户端的.ssh目录下,先获取刚才生成的私钥
cat /root/.ssh/id_rsa
复制出来放到本地客户端
6.初始化Git仓库 修改所有者
cd /home/git/
git init --bare fallshum.git
chown -R git:git fallshum.git/
5 客户端克隆仓库
客户端打开Git Bash,clone服务端仓库
git clone git@192.168.1.1:/home/git/fallshum.git
只要看到Checking connectivity... done
就说明OK了
------------------------------------------------------------------------
6.免密登录
进入sshd配置文件 vim /etc/ssh/sshd_config
修改为以下配置
保证 .ssh目录权限 700
保证 authorized_keys 目录权限 600
7.配置多个公匙 要用空格隔开
方法2 :
1//添加用户git,(注意这里使用的是adduser,而不是useradd。)
root@myUbuntu:/# adduser git
2. 设置密码 passwd git
3.
su git
//切换git用户,查看是否成功
git@myUbuntu:/$
exit
//退出重新登录,验证密码
4.
//git用户创建成功后,会在home目录下自动生成git的用户目录
5.
//收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥复制粘贴到/home/git/.ssh/authorized_keys文件里,一行一个。
//我的git目录里没有这个文件,所以需要手动创建
root@myUbuntu:/home/git#
mkdir .ssh
root@myUbuntu:/home/git#
cd .ssh/
root@myUbuntu:/home/git/.ssh# touch authorized_keys
root@myUbuntu:/home/git/.ssh#
vi authorized_keys
//将公钥添加进去
//进入根目录下的srv目录(本目录是Linux为了server而建立的,一般里面是空的)
root@myUbuntu:/srv# mkdir sample.git
root@myUbuntu:/srv# ls
sample.git
root@myUbuntu:/srv#
6.
git init --bare sample.git/
//注意,在srv目录下进行git的初始化
初始化空的 Git 版本库于 /srv/sample.git/
//Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。所以,修改sample.git的用户和用户组的归属
root@myUbuntu:/srv#
7.
chown -R git:git sample.git/
root@myUbuntu:/srv# ll
总用量 12
drwxr-xr-x 3 root root 4096 5月 13 19:22 ./
drwxr-xr-x 22 root root 4096 4月 29 20:40 ../
drwxr-xr-x 7
git git
4096 5月 13 19:22 sample.git/
----------------------------------------------------------------
8.配置账户权限
修改/etc/passwd
文件,修改
接下来遇到的问题
9.
克隆仓库: git clone tkgitserver@xxx9:/home/tkgitserver/fallshum.git
克隆仓库: git clone git@xxx:/home/git/gitStore.git
遇到的问题 1:
The authenticity of host 'IP' can't be established:
解决
https://yq.aliyun.com/articles/288093
解决方法
- 根据上面的理论,我们用下面的命令登录就不会出问题了。
ssh -o StrictHostKeyChecking=no username@47.95.xxx.xxx
- 还有一种方法是彻底去掉提示,修改/etc/ssh/ssh_config文件(或$HOME/.ssh/config)中的配置,添加如下两行配置:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
修改好配置后,重新启动sshd服务即可,命令为:/etc/init.d/sshd restart (或 systemctl restart sshd )
当然,这是内网中非常信任的服务器之间的ssh连接,所以不考虑安全问题,就直接去掉了主机密钥(host key)的检查。
2.no such identity: C:/Users/Mt.tk/.ssh/id_rsa_tkserver: No such file or directory
git@3xxxxxxx: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
修改设置文件权限
- chown -R git:git /home/git
- chmod 700 /home/git
- chmod 700 /home/git/.ssh
- chmod 644 /home/git/.ssh/authorized_keys
- chmod 600 /root/.ssh/id_rsa
3. 将本地的公匙 合并于git服务器 /服务端为其他程序分配git权限
将客户端的密钥写入密钥存储文件:
[gituser@GitServer ~/.ssh]$ cat id_rsa.pub >> authorized_keys
4.连接自己搭建的 git服务器时 使用
$ git clone 你的用户名@你的服务器地址:/home/tkgitserver/fallshum.git
git-搭建企业git服务器的更多相关文章
- 搭建企业cacti服务器
搭建企业cacti服务器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 今天搭建了cacti,为了方便监控我的交换机~因为查了很多zabbix的资料关于监控交换机的教程~我都屡屡失 ...
- 搭建企业git代码版本管理所需工具
此片文章纯属记录一下使用gitlab搭建私有git版本管理的一些工具及概念. 先记录一下概念 git 是一种版本控制系统,是一个命令,是一种工具 github 是一个基于git实现 ...
- 使用Hudson搭建自动构建服务器
环境: ubuntu1404_x64 说明: 使用hudson和git搭建自动构建服务器的简单示例 安装hudson及相关插件 安装hudson 安装命令如下: sudo sh -c "ec ...
- Git-gitblit-Tortoisegit 搭建Windows Git本地服务器
1.Gitblit安装 1.1.Gitblit简介 Git在版本控制领域可谓是深受程序员喜爱.对于开源的项目,可以免费托管到GitHub上面,相当的方便.但是私有项目托管到GitHub会收取相当昂贵的 ...
- Ubuntu 14.04搭建简单git服务器
/****************************************************************************** * Ubuntu 14.04搭建简单gi ...
- Git -- 搭建git服务器
在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...
- 服务器搭建私人Git
环境是CentOS 7.4 64位 主要参考:在服务器上搭建 Git 0. 预备 安装git yum install git 1. 开发者-生成个人SSH公钥 p.s. 书中的4.3节是[生成个人的S ...
- 使用Gitblit 搭建Windows Git服务器
使用Gitblit 搭建Windows Git服务器 整理使用Gitblit搭建Git服务器的步骤. 目录 使用Gitblit 搭建Windows Git服务器 目录 下载安装 配置 运行 客户端运行 ...
- 搭建本地git服务器
最近因为项目需求,需要实现一个原型系统,加上后期项目需要多人协作,考虑采用了git做版本控制. 这里主要简要描述下git服务器和客户端的搭建和配置. 1.git服务器 (1)安装git sudo ap ...
随机推荐
- 头皮溢脂性皮炎推荐联合治疗:采乐50ml+希尔生100g(请看详情页)维生素B2维生素B6
治疗头皮脂溢性皮炎采乐50ml+希尔生100g联合用药用法:用药先用一般香皂清洗头发及头皮,头皮处于湿润状态,取适量希尔生洗剂涂于头皮表面,充分揉搓出泡沫样5 min后用清水冲净抹干,再将适量采乐洗剂 ...
- SpringMVC 请求响应流程
SpringMVC的工作原理图: SpringMVC流程 1. 用户发送请求至前端控制器DispatcherServlet. 2. DispatcherServlet收到请求调用HandlerMa ...
- SAS获取最后一条观测到指定宏
data theLast; set sashelp.class nobs=last point=last; output; stop; run; data _null_; set theLast; c ...
- go 数据类型type尝试
package main import "fmt" import "encoding/json" type Human struct{ Name string ...
- C语言格式化%整理
以输出为例: #include <stdio.h> main() { printf("**进制****************************************** ...
- 并发编程:IO多路复用。
一 IO模型: Stevens在文章中一共比较了五种IO Model: * blocking IO#阻塞模型 * nonblocking IO#非阻塞 * IO multiplexing#多路复用 ...
- angularjs路由相关知识
angular.module('app').config(['$stateProvider','$urlRouterProvider',function($stateProvider,$urlRout ...
- flask 基本操作 模板语言 session
Django web:优点:大而全,ORM models ,model Form ,admin ,csrf ,session缺点:资源浪费 Flask web:优点:小而精,ORM:x , Form: ...
- [java] 屏蔽ie浏览器中F1帮助
实现某一功能时需要屏蔽IE浏览器中的F1,F2快捷键. 百度后发现如下代码 var jq$ = jQuery.noConflict(); //防止$符号与其他的冲突 jq$(document).rea ...
- Python :数据结构
LearnPython :数据结构 .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .labe ...