如何在mac下远程搭建git服务器

如何在mac下远程搭建git服务器,第1张

首先要有 ssh远程登陆的工具,比如secureCRT等

方案一 基于SSH直接搭建

Git支持的协议主要是四种:

本地: 需要文件共享系统,权限不好控制

HTTP:速度慢

SSH:同时支持读写操作,不支持匿名的读取(Git默认协议)

GIT:最快

从搭建的难易程度和特点综合筛选,最合适的还是ssh,并且大部分服务器上基本都有ssh服务,所以省去了不少麻烦。一个最基本的思路是给每一个人一个ssh帐号,这样大家就可以通过用户名和口令来访问了,但是显然这不是一个好的选择,这个做法有些多余,并且对于repo的权限很难管理。

在使用Github的时候,会利用rsapub公钥/私钥的方式,这样在服务端拥有用户的公钥(pub)之后就可以,跨过繁琐的口令,直接认证提交了,而服务端也会根据不同的用户身份,对其权限有着更加灵活的管理。因此我们也采用这种方式。

服务端

为了使远程库访问更加直观,先在服务器上创建一个名为git的账户,这样以后clone的时候就如下面的格式了:

git clone git@server:somegit

创建新的用户,创建repo等目录

$sudo adduser git

$su git

$cd ~

$mkdir repos

在HOME下的ssh目录,如果没有则创建,创建一个authorized_keys文件,这个文件就是用来管理所有git用户的公钥的,也就是这里面的用户对于项目有着R+W的权限。

客户端

对于每一个客户端,我们需要生成一对密钥和公钥,如果是Github用户,那么ssh目录下,一定有id_rsapub和id_rsa两个文件,其中第一个是系统生成的公钥,另一个是自己要保存好的密钥。如果没有的话,可以在终端执行:ssh-keygen来生成,完成后,将自己的公钥提交给管理员,这就是一个注册的行为。

完成

最后一步,管理员将团队成员的公钥添加到authorized_keys中,比如将同学susie加入:

$ cat susiepub >> authorized_keys

至此,大家可以通过git@server:repos/somegit来访问公共的版本库了。

问题

安全问题,成员可以登录git用户的shell,细节权限如分支等不好控制

管理麻烦,新建repo,或者增加成员比较麻烦,尤其是修改的时候

方案二 使用Gitolite服务

Gitolite 也是基于SSH协议构建的方便管理git repo的应用,可以通过其源码安装

安装

安装按照官方给定的文档就可以轻易的实现:

$ git clone git://githubcom/sitaramc/gitolite

$ mkdir -p $HOME/bin

$ gitolite/install -to $HOME/bin

$ gitolite setup -pk YourNamepub

如果执行最后一条命令的时候,gitolite不识别,则可以通过下面两种方式解决:

将gitolite添加到PATH里面

通过$HOME/bin/gitolite setup -pk YourNamepub 执行

至此,gitolite在服务端,搭建完毕,会发现此时HOME目录下增加了一个文件projectslist和一个目录repositories,后者就是我们的版本仓库了,每当新建repo的时候,就会在其中创建。

使用

是时候说一下gitolite的管理模式了,他会创建一个gitolite-admin的repo,管理员就是通过像这个repo提交配置文件而实现对git服务器的控制的。

首先,将这个repo导入到我们的workspace:在此之前,需要配置本地的ssh,gitolite要求管理员的本地密钥和其注册公钥的名字一致,比如我们安装的时候指定 -pk后面为 adminpub 则管理员本地需要由admin对应的私钥。我们可以通过~/ssh/config来进行配置(注:有些系统可以用conf,Mac OSX 下无效,只能用config)

host gitolite

user git

hostname yourhostnamecom

port 22

identityfile ~/ssh/admin

这样,当我们访问gitolite的时候就会自动根据配置文件执行,配置完成后可以根据下面的命令,将gitolite-admin转移到本地。

git clone gitolite:gitolite-admingit

克隆完成后,可以发现,gitolite-admin下面有两个目录,其中conf保存配置文件,我们可以通过编辑里面的gitoliteconf文件,管理git服务器,keydir目录保存用户的公钥pub文件。

当我们讲修改后的repo 提交的时候,gitolite就会自动的应用这些配置,管理过程就方便了很多。

配置规则

打开gitoliteconf文件可以看到其中的示例:

To add new users alice, bob, and carol, obtain their public keys and add them to 'keydir' as alicepub, bobpub, and carolpub respectively

To add a new repo 'foo' and give different levels of access to these users, edit the file 'conf/gitoliteconf' and add lines like this:

repo foo

RW+ = alice

RW = bob

R = carol

上面的配置文件就是新建了一个repo foo,并且添加了三位项目成员,每一个人的权限不同。提交push后,管理便生效了。

可视化

我们可能会需要一个web界面来管理这些项目,我目前知道的有三种方式:

git源码中自带的组件,cgi脚本实现,使用gitolite服务

gitlab开源框架,基于ROR,新版本不再使用gitolite服务

FB开源PHP框架 phabricator,功能高端上档次

  很多网站站长都会使用 SSH 来远程管理自己网站服务器上的内容,虽然在 OS X 中访问 SSH 非常方便,直接在终端中执行命令“ssh username@server -p port” 就可以连接,但是每次都输入这一串命令还是有点麻烦。其实,我们完全可以给 SSH 访问创建快捷方式以实现更快的访问。第一步:运行“终端”,然后在菜单栏的“Shell”下拉菜单中点击“新建远程连接”;第二步:在弹出的“新建远程连接”窗口中选择“安全 Shell(ssh)”,点击右边的 + 号,在弹出的输入框中输入“ssh登陆用户名@服务器地址”,如下图所示:如果的 SSH 登陆有自定义端口的话,记得一定要在前面加上 -p 端口号,比如:-p 60022 root@10618735219按照上面的两步就添加好快捷方式了,可是如何快速的访问这个快捷方式呢?有两种方法:第一种:打开“终端”,按快捷键 command+shift+k,出现“新建远程连接”窗口后,双击已经创建的连接即可;第二种:将“终端”图标放到 Dock 栏,今后就可以随时随地右键点击 Dock 栏上的“终端”图标,然后点选“新建远程连接”,再访问已经建立的连接。

没听说过AMC地址远程桌面。都是通过IP地址来进行远程直面。

你要访问的主机,使用固定IP地址,不要用自动获得的方式就可以了。

IP地址冲突,这在局域网中必须解决掉。

如果你的要控制的主机网络有DHCP服务器,那就尽可能把主机IP地址设置在靠后。如果主机IP已经固定,那就把DPCP服务器起始和结束的IP,不要设在服务器IP范围内。

  第一步、首先你需要下载Remote Desktop Connection for mac到本地安装。安装好之后Remote Desktop Connection for mac会出现如下界面,这个时候,你需要被控制电脑的IP地址。

第二步、接

  1、在桌面“我的电脑”图标上点击右键,选择“属性”。

  2、在打开的“系统属性”窗口里点击“远程设置”,弹出对话框如下图。

 3、在“远程设置”对话框中选择:“远程协助”勾选“允许远程协助连接这台计算机”;

  4、“远程桌面”勾选“允许运行任意版本远程桌面的计算机连接”或者“仅允许运行使用网络级别用户”。

  5、点击“应用”,“确定”。

  第三步、然后,你需要给你的电脑设置一个管理员账号和密码,这个是一定要的。具体设置方法在,控制面板的——用户账户选项当中。

第四步,你需要知道Windows电脑的IP地址。这个时候我们有两种方法知道你的IP地址。

  方法一,击windows系统电脑左下角“开始”,找到“运行”,输入“cmd”,敲回车。然后在弹出的黑色屏幕窗口中再输入“ipconfig”,敲回车。在下面输出的内容就可以找到ipv4地址信息。如:19216815。

  方法二,双击图标“网络”,或者点击右下角的网络连接图标都可以打开网络共享中心。打开本地连接,然后查看详细信息里面会有IPV4的地址,就是我们所需要的IP地址,例如小编的地址是:19216815。

第五步、这个时候我们需要再回到Mac上,点击打开“远程桌面连接”,在弹出的窗口中输入刚才的IP地址

1921681255,然后点“连接”。需要注意的是,远程连接的时候,windows系统电脑需要保持开机状态,关机、待机或锁屏状态都无法进行远程连接。这时候应该会看到类似下图的界面,需要输入windows系统电脑的用户账号名与密码。这个时候就表示连接成功了。

第六步、输入正确的用户名、密码就可以远程控制windows系统电脑了,初始有一点点卡,稍等10秒左右,反应速度就和直接在windows电脑上操作一样了。

  初始的界面大小可能不合适,可以在MAC RDC的“首选项”里调整为合适的分辨率,会在下次远程连接时生效。

前提:要有你需要连接的服务器的ip,端口号,服务器上的账户和密码

1、首先打开终端,然后输入sudo su - 回车进入根目录

2、然后输入:ssh -p 端口号 服务器用户名@ip (例如ssh -p 22 userkunyu@119293763)回车,到这会让你输入yes或者no来确认是否连接,输入yes回车

3、然后输入在服务器上的用户密码回车

4、到此进入的是你在服务器上的账户的目录,即为连接成功

最后输入sudo su -进入服务器的根目录,进行操作

连接设置别名

使用vi命令编辑一下~/ssh/config这个文件(如果目录下没有这个文件,可以新建一个),接着按下面格式添加内容:

另外,如果想查看当前有哪些配置了别名的服务器,可以使用命令cat ~/ssh/config | grep “Host”来查看

如何从苹果电脑MAC系统登录远程桌面

1、登录您的MAC系统,打开浏览器,下载微软的远程桌面工具,

2、下载后点击安装,

直接点继续就可以完成安装。

3、安装后在MAC系统下方会有这个远程桌面图标,点击打开。

4、在弹出远程桌面连接中输入要远程连接的IP,如果有端口的要加入端口。

5、连接时可能会因为版本问题弹出提示,点击“连接”即可。

6、与在windows系统下远程一样,输入用户名和密码即可登录。

登录以后的界面与windows远程登录操作一致。

如果想要断开远程桌面,点远程窗口左上方的叉号即可。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在mac下远程搭建git服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情