Linux服务器

推荐列表 站点导航

当前位置:首页 > 服务器技术 > Linux服务器 >

如何在Linux环境下建立Git Server并设置用户

来源:网络整理  作者:fen  发布时间:2020-12-25 13:12
版本控制相信大家都听说过。今天我们要来讲解一下如何在Linux环境下建立起Git Server并且设立多个用户可以远端进行...

版本控制相信大家都听说过。今天我们要来讲解一下如何在Linux环境下建立起Git Server并且设立多个用户可以远端进行push及pull等操作。

我的演示环境是一个Amazon EC2的instance,安装好了Ubuntu 16.04,并且已经安装有git。

 

我们想达到的目的是这样的:

建立一个名为/srv/git的文件夹,对于我们当前项目,会有一个相应的my_project.git文件夹,我们可以在本地使用git push origin master或者git pull origin master命令来推送或者取回相应的文件。

 

首先git是存在多种protocol的,我们使用的是ssh。所以在建立用户的时候,我们需要建立相应的public key及private key,并且将public key添加到服务器端.ssh/authorized_keys文件中(稍后会介绍如何操作)。

 

首先我们需要建立一个用户git,专门用来远端连接,这样可以限制能够接触到文件的用户:

$ sudo su

$ adduser git

 

接下来,我们需要建立起.ssh文件夹及相应的authorized_keys文件,用来添加授权用户的public key:

$ su git

git@amazon-server-ip:/home/ubuntu$ cd

git@amazon-server-ip:~$ mkdir .ssh && chmod 700 .ssh

git@amazon-server-ip:~$ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

 

建立文件并且添加了相应的文件权限后,我们需要添加开发者的public key。假设我们需要本地连接git服务器,那么我们需要创建一对public key和private key:

$ cd ~/.ssh

$ ssh-keygen -t RSA -b 2048 -C "Local Developer"

根据提示输入相应的密钥文件名及是否设置密码。

(或者我们可以直接使用Amazon后台建立一对新的密钥。)

 

然后我们可以看到.ssh文件夹中多出了两个文件,一个无后缀名的文件为私钥,另一个.pub后缀的为公钥。假设我们创建的公钥名称为aws.git.pub,我们需要把公钥中的内容添加到服务器的.ssh/authorized_keys中:

//将aws.git.pub上传到服务器根目录

$ scp -i mykey.pem aws.git.pub ubuntu@amazon-server-ip:~/

//将aws.git.pub中的内容添加到authorized_keys中

ubuntu@amazon-server-ip:~$ sudo cat aws.git.pub >> /home/git/.ssh/authorized_keys

 

现在我们尝试使用ssh登陆到git@amazon-server-ip:

$ ssh -i ~/.ssh/aws.git git@amazon-server-ip

 

若显示连接成功,那么我们就可以进行下一步了!

 

现在我们要建立/srv/git/my_project.git文件夹:

ubuntu@amazon-server-ip:~$ sudo su

root@amazon-server-ip:~$ mkdir -p /srv/git/my_project.git

root@amazon-server-ip:~$ cd /srv/git/my_project.git

root@amazon-server-ip:/srv/git/my_project.git$ git init --bare

Initialized empty Git repository in /srv/git/project.git/

 

接下来我们需要更改一下文件所属用户:

root@amazon-server-ip:~$ chown -R git: /srv

 

现在我们就可以在本地使用push将我们的project推送到服务器了:

$ cd my-project

$ git init

$ git add .

$ git commit -m "initial commit"

$ git remote add origin git@amazon-server-ip:/srv/git/my-project.git

$ git push origin master

 

如果我们需要新增用户,只需要将新用户的public key添加到服务器的/home/git/.ssh/authorized_keys文件中就可以了。

相关热词: Linux

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/server/fwq/8899.shtml

相关文章
Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

如何在Linux环境下建立Git Server并设置用户

2020-12-25 编辑:fen

版本控制相信大家都听说过。今天我们要来讲解一下如何在Linux环境下建立起Git Server并且设立多个用户可以远端进行push及pull等操作。

我的演示环境是一个Amazon EC2的instance,安装好了Ubuntu 16.04,并且已经安装有git。

 

我们想达到的目的是这样的:

建立一个名为/srv/git的文件夹,对于我们当前项目,会有一个相应的my_project.git文件夹,我们可以在本地使用git push origin master或者git pull origin master命令来推送或者取回相应的文件。

 

首先git是存在多种protocol的,我们使用的是ssh。所以在建立用户的时候,我们需要建立相应的public key及private key,并且将public key添加到服务器端.ssh/authorized_keys文件中(稍后会介绍如何操作)。

 

首先我们需要建立一个用户git,专门用来远端连接,这样可以限制能够接触到文件的用户:

$ sudo su

$ adduser git

 

接下来,我们需要建立起.ssh文件夹及相应的authorized_keys文件,用来添加授权用户的public key:

$ su git

git@amazon-server-ip:/home/ubuntu$ cd

git@amazon-server-ip:~$ mkdir .ssh && chmod 700 .ssh

git@amazon-server-ip:~$ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

 

建立文件并且添加了相应的文件权限后,我们需要添加开发者的public key。假设我们需要本地连接git服务器,那么我们需要创建一对public key和private key:

$ cd ~/.ssh

$ ssh-keygen -t RSA -b 2048 -C "Local Developer"

根据提示输入相应的密钥文件名及是否设置密码。

(或者我们可以直接使用Amazon后台建立一对新的密钥。)

 

然后我们可以看到.ssh文件夹中多出了两个文件,一个无后缀名的文件为私钥,另一个.pub后缀的为公钥。假设我们创建的公钥名称为aws.git.pub,我们需要把公钥中的内容添加到服务器的.ssh/authorized_keys中:

//将aws.git.pub上传到服务器根目录

$ scp -i mykey.pem aws.git.pub ubuntu@amazon-server-ip:~/

//将aws.git.pub中的内容添加到authorized_keys中

ubuntu@amazon-server-ip:~$ sudo cat aws.git.pub >> /home/git/.ssh/authorized_keys

 

现在我们尝试使用ssh登陆到git@amazon-server-ip:

$ ssh -i ~/.ssh/aws.git git@amazon-server-ip

 

若显示连接成功,那么我们就可以进行下一步了!

 

现在我们要建立/srv/git/my_project.git文件夹:

ubuntu@amazon-server-ip:~$ sudo su

root@amazon-server-ip:~$ mkdir -p /srv/git/my_project.git

root@amazon-server-ip:~$ cd /srv/git/my_project.git

root@amazon-server-ip:/srv/git/my_project.git$ git init --bare

Initialized empty Git repository in /srv/git/project.git/

 

接下来我们需要更改一下文件所属用户:

root@amazon-server-ip:~$ chown -R git: /srv

 

现在我们就可以在本地使用push将我们的project推送到服务器了:

$ cd my-project

$ git init

$ git add .

$ git commit -m "initial commit"

$ git remote add origin git@amazon-server-ip:/srv/git/my-project.git

$ git push origin master

 

如果我们需要新增用户,只需要将新用户的public key添加到服务器的/home/git/.ssh/authorized_keys文件中就可以了。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/server/fwq/8899.shtml

相关文章

风云图片

推荐阅读

返回Linux服务器频道首页