环境安装系列 - Linux上搭建简易Git服务01

这篇文章主要讲述简易的GIT服务器环境搭建,环境是CentOS。authorized_keys

1. 安装GIT

这边比较简单的方法就是通过yum的方式安装

sudo yum install git

2. 创建一个git用户

useradd git -d /home/git
passwd git

/home/git为服务端版本存储的目录地址。这个时候就可以通过git这个账号,登录服务器了。

3. 添加公钥,SSH免登

首先,我们需要在本地生成公钥。生成的命令如下:

ssh-keygen -t rsa

最后会生成id_rsa和id_rsa.pub,其中id_rsa_pub为你的公钥。有了公钥后,我们放到服务器上就可以免登了。公钥内容类似下面这样的:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L
ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k
Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez
Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv
O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq
dAv8JggJICUvax2T9va5 gsg-keypair

因为我们的目的是需要git命令的免登,所以需要在/home/git目录下创建.ssh文件夹和authorized_keys

mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys

其中 .ssh文件夹必须是700的权限,authorized_keys文件必须是600的权限

然后将我们的公钥传到这个服务器上,将公钥内容拷贝进入authorized_keys文件中。

cat /home/admin/id_rsa.pub > /home/git/.ssh/authorized_keys

4. 创建GIT服务器端仓库

cd /home/git
mkdir project.git
cd project.git/
git --bare init

这个时候服务端仓库就创建成功了。

5. 客户端clone代码

这个时候,客户端就可以通过git命令clone代码了。

git clone [email protected]:/home/git/project.git

这个时候发现我竟然还需要输入密码,这种情况,我略感受伤,每次输入密码太麻烦了。

$ git clone [email protected]:/home/git/project.git
Cloning into 'project'...
[email protected]'s password:

于是,我们检查刚才配置的.ssh文件夹,发现权限还是root root的,需要修改成 git的权限。

drwxr-xr-x. 7 root root 4096 1月   8 17:20 project.git
drwx------. 2 root root   28 1月   8 17:16 .ssh

执行命令:

chown -R git:git project.git
chown -R git:git .ssh

这个时候,我们发现可以直接不需要密码登陆就能下载git了。

6. 管理git账号

最开始,我们创建了git的账号,但是这个账号权限太大了,拥有shell的登录权限。如果git账号泄露岂不是可以给服务器造成破坏。于是,可以修改git账号权限,限制git账号只能用于git的操作。

vim /etc/passwd

找到git的权限:

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

修改为:

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

如果有其它的用户也需要GIT权限怎么办?可以将其它用户端公钥也放到 authorized_keys中去。

但是这种办法只适合于小团队范围的GIT项目版本管理。

时间: 2024-08-04 20:10:01

环境安装系列 - Linux上搭建简易Git服务01的相关文章

多功能集成环境在windows服务器上搭建PHP网站案例,在服务器上搭建PHP网站

服务器版本:Windows Server 2008 R2 Enterprise 平时搭建PHP网站,可以在linux服务器上搭建,也可以在windows服务器上搭建,主要看你个人需求了,今天我们演示的是用PHPWAMP绿色集成环境在windows服务器上搭建php网站. 这款PHPWAMP绿色集成环境也属于WAMP套件,大家知道什么是WAMP吧? Windows下的Apache+Mysql+PHP,称为WAMP. WAMP套件其实有很多,就比如wampserver.apmserv.xampp等等

在Linux上搭建Hadoop

在Linux上搭建Hadoop集群搭建笔记 1.安装虚拟机 下载软件: VMware workstation CentOS 镜像 2.远程连接 下载软件并安装 Xshell5 http://www.netsarang.com/products/xsh_overview.html xftp5 http://www.netsarang.com/products/xfp_overview.html (1)打开Xshell (2)输入会话名称和ip地址 在右下角的位置将虚拟机的网络连接改为桥接模式且选中

利用tinyproxy在Linux上搭建HTTP Proxy Server

之所以需要用到HTTP Proxy Server并不是为了要翻墙,而是为了让没有公网IP地址的内网主机通过有公网IP地址的外网主机访问Internet.举个例子,阿里云ECS在购买时可以不购买公网IP地址,但这种没有公网IP地址的ECS云主机(实例)是没有访问Internet的能力的,也就是说无法在这台实例上下载文件,这在部署应用如部署MySQL时可能遇到无法完成安装问题.解决的办法有两种,一种是在另一台具有公网访问能力的ECS实例上搭建VPN服务,另一种是在另一台具有公网访问能力的ECS实例上

linux上搭建ftp、vsftp, 解决访问ftp超时连接, 解决用户指定访问其根目录,解决ftp主动连接、被动连接的问题

linux上搭建ftp 重要 解决如何搭建ftp         解决用户指定访问其根目录         解决访问ftp超时连接         解决ftp主动连接.被动连接的问题 1.安装ftp    安装ftp前,先把防火墙关闭 #service iptables stop   (挺重要) 安装好后再根据需要的端口 添加到 iptables 直接用yum安装 vsftp # 1.执行以下安装命令 yum install -y vsftpd # 2.设置开机启动服务 chkconfig vs

在Linux上搭建samba服务后,到Windos上访问不了共享目录的问题排障

今天在linux下搭建samba服务时,出现了几个问题,经过多次努力尝试,终于顺利解决问题:在linux上搭建samba服务,编译 vim /etc/samba/smb.conf完成后:1>在Windos上测试访问共享的目录时,错误提示如下 2>在浏览器上输入:file://192.168.1.103/sanshi,访问后还是同样的错误3>在linux上访问,如下提示[[email protected] ~]# smbclient //192.168.1.103/sanshiWARNIN

一台Linux上搭建两个tomcat

如题,本次博文的内容是在一台Linux上搭建2个tomcat,很蛋疼的需求,但必须得做 1,复制原tomcat并重命名tomcat cp /usr/local/tomcat /usr/local/tomcat2 修改外部环境 vim /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_73 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_H

Linux上搭建OA环境帮助文档

目录 在linux中搭建OA环境 任何一个环境的搭建都是基于一台干净无毒, 符合最低配置的计算机或者虚拟机. 全新的环境,第一件事是检查硬件环境,适不适合搭建该OA环境象. 一.  查看linux系统发行版本 两种命令方法: $ cat /etc/issue $ cat /etc/redhat-release 发行版本为linux 5.4 二.查看 cpu系统 $ top (按数字键1,2,3去切换各个cpu的情况,如果只有1个cpu,就表示单核) 查看剩余内存大小,有个公式: mem中的fre

在Linux上搭建Samba服务器,用于与Windows之间的跨平台文件共享

Samba是著名的开源软件项目之一,它在Linux/UNIX系统中实现了微软的SMB/CIFS网络协议,使得跨平台的文件共享变得更加容易.在部署Windows.Linux/UNIX混合平台的企业环境时,选用Samba可以很好的解决在不同系统之间的文件互访问题. 今天,让我们尝试在Redhat上搭建smaba服务,并且通过Win7作为客户端去使用samba服务的不同功能. 部署Samba服务(匿名共享访问.本地用户访问.虚拟用户访问): )安装软件包: rpm -ivh /mnt/Packages

linux上搭建 WordPress

一.首先在linux上下载PHPstudy for linux 的bin文件1.wget -c http://lamp.phpstudy.net/phpstudy.bin 2.给文件加权限chmod +x phpstudy.bin 3.执行bin文件./phpstudy.bin上面显示安装成功,可能安装的时间有点长 ###切换php版本的步骤:如果先安装的apache+php5.3 想切换成nginx+php5.4就再走一次./phpstudy.bin 但是你会发现有一行是否安装mysql提示选