这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » HTML5视频教程之搭建ssh协议访问Git服务器分享

共1条 1/1 1 跳转至

HTML5视频教程之搭建ssh协议访问Git服务器分享

菜鸟
2020-12-08 16:42:27     打赏

一、Git-协议

Git可以使用四种主要的协议来传输数据:本地传输,ssh协议,Git协议和HTTP协议。

Git使用的传输协议中最常见的就是ssh了。大多数环境已经支持通过ssh对服务器的访问,ssh也是唯一一个同时支持读写操作的网络协议。另外两个网络协议(HTTP和Git)通常都是只读的。ssh同时也是一个验证授权的网络协议;而因为其普遍性,一般架设和使用都很容易。

下面主要介绍扣丁学堂HTML5培训之如何搭建ssh协议访问Git服务器。

二、在服务器上部署Git

首先,你需要一台Linux器并且拥有sudo权限,本文使用的是Debian7.0x32。下面就开始安装:

2.1第一步,安装git:

$sudoapt-getinstallgit


2.2第二步,创建一个git用户,用来运行git服务:

$sudoaddusergit


2.3第三步,设置访问权限:

有几个办法可以让团队的每个成员都有访问权:

给每个人建立一个账户。反复使用adduser并给所有人设定临时密码比较麻烦。

在服务器上建立一个Git账户,让每个需要写权限的人发送一个ssh公钥,然后将其加入Git账户的~/.ssh/authorized_keys文件。这样,所有人都将通过Git账户访问主机。

另一个办法是让ssh服务器通过某个LDAP服务,或者其他已经设定好的集中授权机制,来进行授权。

这里我们使用第二种方法,收集所有需要登录该Git服务器用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,每行一个。(注意:/home/git/.ssh/authorized_keys这个文件的owner为Git,如果不是请使用chown命令修改)。

下面是创建公钥命令:

$ssh-keygen-trsa-C'youremail@domain.com'

-t指定密钥类型,默认即rsa,可以省略

-C设置注释文字,比如你的邮箱

2.4第四步,禁用shell登录:

出于安全考虑,你可以用Git自带的git-shell工具限制git用户的活动范围。这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

把bin/sh改为/usr/bin/git-shell(或者用whichgit-shell查看它的实际安装路径)

git:x:1003:1003:,,,:/home/git:/bin/bash


改为:

git:x:1003:1003:,,,:/home/git:/usr/bin/git-shell

现在git用户只能用ssh连接来推送和获取Git仓库,而不能直接使用服务器的shell。尝试普通ssh登录的话,会被拒绝登录。

2.5第五步,初始化Git仓库:

选定一个目录作为Git仓库,如/home/git/project.git,在/home/git/目录下输入命令:

$sudogitinit--bareproject.git


Git会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把project.git的owner改为git:

$sudochown-Rgit:gitproject.git


2.6第六步,克隆远程仓库:

ssh指定私钥的配置管理,为本地添加ssh别名,编辑~/.ssh/config,如果没有该文件,创建一个:

$vi~/.ssh/config

在config中添加:

#注释说明Host别名HostName域名或ipUser登陆服务器用的账号Port端口号(默认22,可以不填,如果服务器修改了ssh登录端口号,此处需要修改)IdentityFile密钥文件的位置

例如设置为:

#bingdian'sgitserverHostgitserverHostName162.188.23.33UsergitPort9000IdentityFile~/.ssh/server_rsa


现在,可以通过gitclone命令克隆远程仓库了:

$gitclonessh://git@gitserver:/home/git/project.git


接下来你就可以享受你的Git之旅了。最后想要工作不累就要不断的提升自己的技能,请关注扣丁学堂HTML5培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的HTML5视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的第一套自适应HTML5在线视频课程系统,让你快速掌握HTML5从入门到精通开发实战技能。扣丁学堂H5技术交流群:692172929。



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]