博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个简易git服务器的搭建
阅读量:4992 次
发布时间:2019-06-12

本文共 2429 字,大约阅读时间需要 8 分钟。

查看ssh公钥方法:

1. 打开git bash窗口2. 进入.ssh目录: cd ~/.ssh3. 找到id_rsa.pub文件: ls4. 查看公钥:cat id_rsa.pub            或者 vim id_rsa.pub

何为公钥:

1. 很多服务器都是需要认证的,ssh认证是其中的一种。在客户端生成公钥,把生成的公钥添加到服务器,你以后连接服务器就不用每次都输入用户名和密码了。2. 很多git服务器都是用ssh认证方式,你需要把你生成的公钥发送给代码仓库管理员,让他给你添加到服务器上,你就可以通过ssh自由地拉取和提交代码了。

生成公钥:

1.如果通过上面的方式找不到公钥,你就需要先生成公钥了:ssh-keygen2.接着会确认存放公钥的地址,默认就是上面说的路径,直接enter键确认3.接着会要求输入密码和确认密码,如果不想设置密码直接不输入内容 按enter键

我们来看看如何配置服务器端的 SSH 访问。 本例中,我们将使用 authorized_keys 方法来对用户进行认证。 同时我们假设你使用的操作系统是标准的 Linux 发行版,比如 Ubuntu。 首先,创建一个操作系统用户 git,并为其建立一个 .ssh 目录。

$ sudo adduser git$ su git$ cd$ mkdir .ssh && chmod 700 .ssh$ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

接着,我们需要为系统用户 git 的 authorized_keys 文件添加一些开发者 SSH 公钥。 假设我们已经获得了若干受信任的公钥,并将它们保存在临时文件中。 与前文类似,这些公钥看起来是这样的:

$ cat /tmp/id_rsa.john.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCBr07n/ww+ouN4gSLKssMxXnBOvf9LGt4LojG6rs6hPB09j9R/T18/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4kYjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4owOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9EzSdfd8AcCIicTDWbqLAcU5UpkaX8KyGlLwsNeeztobF8m72ALC/nLF6JLtPofwFfggc+myivO7TCUSBdLQsdMVOFq1I2ufWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPqdAv8JggJICUvax2T9va5 gsg-keypair

将这些公钥加入系统用户 git 的 .ssh 目录下 authorized_keys 文件的末尾:

$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys$ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys$ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys

其中john、josie、jessica是为了区分不同用户公钥

现在我们来为开发者新建一个空仓库。可以借助带 --bare 选项的 git init 命令来做到这一点,该命令在初始化仓库时不会创建工作目录:

$ cd /home/git$ mkdir project.git$ cd project.git$ git init --bareInitialized empty Git repository in /opt/git/project.git/

注意/opt/git/project.git这个路径要根据自己的路径来处理,使用pwd命令来查看该路径,以便下面使用

接着,John、Josie 或者 Jessica 中的任意一人可以将他们项目的最初版本推送到这个仓库中,他只需将此仓库设置为项目的远程仓库并向其推送分支。 请注意,每添加一个新项目,都需要有人登录服务器取得 shell,并创建一个裸仓库。 我们假定这个设置了 git 用户和 Git 仓库的服务器使用 gitserver 作为主机名。 同时,假设该服务器运行在内网,并且你已在 DNS 配置中将 gitserver 指向此服务器。那么我们可以运行如下命令(假定 myproject 是已有项目且其中已包含文件):

# on John's computer$ cd myproject$ git init$ git add .$ git commit -m 'initial commit'$ git remote add origin git@gitserver:/opt/git/project.git$ git push origin master

此时,其他开发者可以克隆此仓库,并推回各自的改动,步骤很简单:

$ git clone git@gitserver:/home/git/project.git$ cd project$ vim README$ git commit -am 'fix for the README file'$ git push origin master

注:git@gitserver:/home/git/project.git中gitserver可替换成服务器IP地址

通过这种方法,你可以快速搭建一个具有读写权限、面向多个开发者的 Git 服务器。

转载于:https://www.cnblogs.com/fenghualong/p/9968773.html

你可能感兴趣的文章
MySQL 8.0.12 基于Windows 安装教程
查看>>
在hue中使用hive
查看>>
eclipse快捷键
查看>>
在指定文本里记录内容
查看>>
Android WebView常见问题及解决方案汇总
查看>>
[BZOJ4025]二分图
查看>>
HTML5 Canvas玩转酷炫大波浪进度图
查看>>
创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段
查看>>
电话录音系统说明书
查看>>
JVM(1)——IDEA启动分配内存大小及GC日志打印
查看>>
oracle 批量更新之update case when then
查看>>
text3
查看>>
自己写的连击文字特效
查看>>
【Android】eclipse打不开的解决办法和“Jar mismatch! Fix your dependencies”的解决
查看>>
Mysql查询某字段值重复的数据
查看>>
Java 自学笔记-基本语法3setOut()方法设置新的输出流
查看>>
cocos2d-JS 模块 anysdk 概述
查看>>
docker镜像mac下保存路径
查看>>
docker使用 命令
查看>>
关于C#操作INI文件的总结
查看>>