说明:Git
是一个分布式的版本控制系统,也就意味着它可以在有网络环境或者没有网络环境的时候使用。而通常情况下会搭建一个服务端,所有用户的更改统一发布到服务端上。
服务器上的Git
一般情况下如果想与他人合作,就需要一个远程的Git
仓库。尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心就很容易弄混其他人的进度。另外,你也一定希望合作者们即使在自己不开机的时候也能从仓库获取数据—拥有一个更稳定的公共仓库十分有用。因此,更好的合作方式是建立一个大家都可以访问的共享仓库,从那里推送和拉取数据。我们将把这个仓库称为 "Git 服务器";代理一个Git
仓库只需要花费很少的资源,几乎从不需要整个服务器来支持它的运行。
更多参考:服务器上的 Git
Git的安装
# CentOS REHL
# yum install git
# Ubuntu
# sudo apt-get install git
# Windows
访问:http://git-scm.com/download/
部署Git
本文主要介绍通过SSH
的方式访问Git
的部署。
1、在客户端生成公钥
每个需要使用Git
服务器的客户端都需要生成这个公钥,然后将它们全部上传到服务器。
使用命令:
$ ssh-keygen
或者指定密钥算法和用户标识:
$ ssh-keygen -t rsa -C "youremail@example.com"
然后在你的用户文件夹下,会生成一个.ssh
文件夹,里边有两个文件:id_rsa
(私钥,不要泄漏)id_rsa.pub
(公钥,复制到服务器上)
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@agadorlaptop.local
2、服务端搭建
新建git
用户:
# useradd git
# su - git
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ cd ~/.ssh
$ touch authorized_keys
$ chmod 600 authorized_keys
请注意,.ssh
文件夹的权限为700
,authorized_keys
文件的权限为600
,一定要这样设置,不然无法生效。
将公钥添加到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
创建裸仓库:
$ mkdir ~/project.git
$ cd ~/project.git
$ git --bare init
将git
用户设置为不可使用shell
:
# sudo vim /etc/passwd
最后一行应该类似于:
git:x:1000:1000::/home/git:/bin/bash
将/bin/bash
改为/usr/bin/git-shell
(使用which git-shell
查看路径)
git:x:1000:1000::/home/git:/usr/bin/git-shell
客户端使用
git clone git@server:/home/git/project.git
如果目录在git
的用户目录下,可以省略/home/git
git clone git@server:project.git
如果配置正常,应该可以直接拉下来了。如果不正常,一般是会让输入密码或者提示权限不足,请重新看一下本教程,确认无误。
原创文章,作者:南猫,如若转载,请注明出处:https://southcat.net/1823/
不妨点个广告再走嘛
相关推荐
-
Typecho博客首页显示文章摘要的方法
说明:Typecho 博客默认没有自动摘要的功能,博客首页和分类归档页面显示的文章都是全文输出的,对于内容文字很多的文章,会把页面拉伸得很长,显示得也不怎么美观。但博主可以在发表文章的时候手动摘要。 方法 在发表文章的时候,在文章内容中添加<!–more–>标签即可。
-
Linux VPS安装vDDoS Proxy防御DDOS CC攻击
说明:之前发过一篇防DDOS的文章,参考:Linux VPS 使用DDOS deflate来抵御DDOS攻击,今天又看到一个使用vDDoS Proxy防御DDOS CC攻击的教程,就说下。 Vddos proxy是什么 引用原文“ vDDoS Protection is Nginx bundled with module HTTP/2; GeoIP; Limit Req, Testcookie; reCaptcha processor… Working like CloudFlare, but vDDoS is software help you build your own System Firewall. ” Github地址:https://github.com/duy13/vDDoS-Protection作者主页:http://vddos.voduy.com/原作者还提供了更强大的功能以及更详细的说明,有能力的MJJ可以前去研究。 安装 vDDos proxy必须安装在WEB程序以前例如(cPanel, VestaCP, LAMP, LEMP…)。 vDDos proxy暂只支持Centos 5/6/7 64位和CloudLinux Server 5/6/7 64位。 接下来以Centos 7为例。 运行以下命令: yum -y install epel-release yum -y update yum -y install curl wget gc gcc gcc-c++ pcre-devel zlib-devel make openssl-devel libxml2-devel libxslt-devel yum -y install gd-devel perl-ExtUtils-Embed GeoIP-devel gperftools gperftools-devel libatomic_ops-devel yum -y install automake autoconf...
-
Linux VPS使用skicka将文件上传至Google Drive网盘,支持编辑/下载等
说明:此前操作VPS和Google Drive网盘都是用的rclone挂载同步方法,教程查看:在Debian/Ubuntu上使用rclone挂载Google Drive网盘,现在再分享个方法,使用skicka来进行VPS和GD之间的同步操作,也可以操作网盘,比如创建文件/文件夹、编辑/下载等,速度都还不错,挺方便的。这里说下安装教程。 安装 Github地址:https://github.com/google/skicka 1、安装golang #32位系统下载 wget -O go.tar.gz https://dl.google.com/go/go1.13.3.linux-386.tar.gz #64位系统下载 wget -O go.tar.gz https://dl.google.com/go/go1.13.3.linux-amd64.tar.gz #解压压缩包 tar -zxvf go.tar.gz -C /usr/local #设置环境变量,将以下一起复制进ssh客户端运行 mkdir $HOME/go echo 'export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> /etc/profile source /etc/profile #查看go版本,有输出即为安装成功 go version 2、安装git #Debian/Ubuntu系统 apt -y install git #CentOS/RHEL系统 yum -y install git 3、安装skicka go get github.com/google/skicka mv /root/go/bin/skicka /usr/local/bin #初始化 skicka init 此时会创建一个配置文件,大致路径为/root/.skicka.config.,由于默认的api停用了,这里我们就编辑该配置文件,进行如下修改: #需要修改以下2行 ;clientid=YOUR_GOOGLE_APP_CLIENT_ID ;clientsecret=YOUR_GOOGLE_APP_SECRET #改成以下2行 clientid=850428714661-757h6cilp37g2us5tuh9vg2a0ki3edr7.apps.googleusercontent.com clientsecret=pHNfSgpcdZHNAn_FDua5Ke6w 这里由博主提供的api,如果你不放心,可以自己申请api,申请教程参考→传送门。 #授权 skicka -no-browser-auth ls 然后会出现如下信息: [root@Rats ~]# skicka -no-browser-auth ls Go to the following link in your browser: #将得到的链接在浏览器打开,授权获取验证码 Enter verification code:...
-
使用Docker搭建DPlayer视频弹幕接口API后端
说明:之前有同学要求博主出个DPlayer弹幕后端搭建教程,刚好本博客的Handsome主题更新并完美适配了Dplayer,然后就研究了下,发现了点小问题,如作者提供的弹幕API加载不出弹幕,而且Typecho当中的Dplayer插件有点旧无法对接V3后端,不知道其它程序插件是不是这样,这里博主只能使用HTML代码直接输出调用,经测试已完全正常加载弹幕和观看。这里就说下搭建及使用方法。 简介 DPlayer是一个支持弹幕的HTML5视频播放器。支持Bilibili视频和danmaku,支持HLS、FLV、MPEG DASH、WebTorrent以及其他视频格式,支持截屏、热键、切换清晰度以及字幕等。 安装 作者提供的弹幕后端搭建方法挺多的,这里选择一个搭建最快,版本最新的一种。 Github地址:https://github.com/MoePlayer/DPlayer-node 1、安装Docker #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum update -y yum -y install docker-io service docker start chkconfig docker on #CentOS 7、Debian、Ubuntu curl -sSL https://get.docker.com/ | sh systemctl start docker systemctl enable docker 2、安装Docker Compose curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 3、运行镜像安装git: #Debian、Ubuntu系统 apt install git -y #CentOS系统 yum install -y git 再使用命令: #拉取源码 git clone https://github.com/MoePlayer/DPlayer-node.git cd DPlayer-node #新建镜像 docker-compose build #拉取其它镜像并后台运行 docker-compose up -d 此时api地址为http://ip:1207,数据和日志存放在/root/dplayer文件夹。 当然如果你想其它端口,或者修改存放文件夹路径,那你在上面的新建镜像之前,作出如下操作: #编辑DPlayer-node文件夹的docker-compose.yml文件,部分修改如下 mongo: volumes: - ~/dplayer/db:/data/db #数据库存放文件夹,~/dplayer/db为映射在外部的路径,自行修改, web: ports: - 1207:1207 #api映射到外部的端口,将前面的1207修改成你想要的即可 volumes:...
-
Linux修改PhpMyAdmin(MySql)密码教程
此教程只为了方便忘记数据库(phpmyadmin)密码的人。 第一步,停止掉目前VPS的MYSQL服务 /etc/init.d/mysql stop 第二步,跳过验证启动MySQL /usr/local/mysql/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 & 第三步,准备重新设置新密码 /usr/local/mysql/bin/mysql -u root mysql update user set password = Password('新密码') where User = 'root'; flush privileges; exit; killall mysqld /etc/init.d/mysql start
-
Linux VPS一键搭建KMS服务器脚本及激活Windows和Office教程
说明:KMS就不详细介绍了,可以用来激活微软的一些系统和软件,让你免费体验正版的系统或软件。这里就分享个KMS激活服务器一键搭建脚本,可以供多人使用,一次激活有效期180天,且180天内只要服务器重新在线一次就会自动续期。 安装 Github地址:https://github.com/dakkidaze/one-key-kms 使用命令: #CentOS,Redhat,Fedora等请选择CentOS脚本 wget https://raw.githubusercontent.com/dakkidaze/one-key-kms/master/one-key-kms-centos.sh chmod +x one-key-kms-centos.sh ./one-key-kms-centos.sh #Debian,Ubuntu,Mint等请选择Debian脚本 wget https://raw.githubusercontent.com/dakkidaze/one-key-kms/master/one-key-kms-debian.sh chmod +x one-key-kms-debian.sh ./one-key-kms-debian.sh #启动KMS wget https://raw.githubusercontent.com/dakkidaze/one-key-kms/master/kms.sh chmod +x kms.sh ./kms.sh start 注意放行服务器1688端口! 激活Windows 系统需要是VL版本的,然后使用管理员权限运行cmd,运行以下命令: cd /d "%SystemRoot%\system32" slmgr /skms ip #ip为你KMS的IP地址或者域名 slmgr /ato slmgr /xpr 看到网上还有很多系统不是VL版本的激活方法,这个方法就不说了,感觉没啥用,因为不是VL版本的都没KEY,比如说旗舰版,家庭高级版等。 激活Office 首先你的Office必须是VOL版本,否则无法激活。 找到你的Office安装目录,如果你不知道你的Office装在哪个目录,可以鼠标右键一个程序图标比如Word,然后选择“打开文件所在的位置”,在上面地址栏就可以看到了。 这里以Office2016为例,32位文件夹目录为C:\Program Files (x86)\Microsoft Office\Office16。62位目录为C:\Program Files\Microsoft Office\Office16。关于文件夹对应的版本说明:Office16是Office2016,Office15就是Office2013,Office14就是Office2010。 下面以32位为参考。使用管理员权限运行cmd,运行以下命令: #进入Office文件夹执行命令 cd "C:\Program Files (x86)\Microsoft Office\Office16" cscript ospp.vbs /sethst:ip #ip为你KMS的IP地址或者域名 cscript ospp.vbs /act
-
Linux VPS使用torrent-cli命令行获取电影等资源的BT磁力
说明:我们很多人找小电影的都习惯百度,但这个方法似乎没什么逼格,对于手上有很多VPS的来说,找资源这种事,可以不用像普通老百姓一样打开百度盲目查找了!这里分享个磁力爬虫工具,可以帮你完成查找磁力的工作。 安装 Github地址:https://github.com/chenjiandongx/torrent-cli系统要求:Windows、Linux、MacOs,这里就说下Linux VPS安装,建议使用CentOS系统。 1、安装Python3一般大多数Ubuntu自带Python3,而Centos、Debian就需要我们安装了。 #查看是否有Python3 python3 -V #安装Python3 #CentOS系统 wget https://www.southcat.net/usr/shell/Python3/CentOS_Python3.6.sh && sh CentOS_Python3.6.sh #Debian系统 wget https://www.southcat.net/usr/shell/Python3/Debian_Python3.6.sh && sh Debian_Python3.6.sh 然后再输入python3 -V看是否安装成功。 2、安装torrent-cli这里安装方法有2种。pip安装: pip3 install torrent-cli 源码安装: #可以修改torrent.py文件来增加所爬的磁力站 git clone https://github.com/chenjiandongx/torrent-cli.git cd torrent-cli pip3 install -r requirements.txt python3 setup.py install 提示-bash: git: command not found的使用命令: #Debian/Ubuntu系统 apt-get install git -y #CentOS系统 yum install git -y 使用 1、使用命令: usage: torrent-cli [-h] [-k KEYWORD] [-n NUM] [-s SORT_BY] [-o OUTPUT] [-p] [-v] Magnets-Getter CLI Tools. optional arguments: -h, --help show this help message and exit -k KEYWORD, --keyword KEYWORD magnet keyword....
-
Markdown-Temp:一款不错的在线Markdown编辑器
简介 Markdown-Temp是一款在线Markdown编辑器,她不仅免费开源,而且简单适用。Markdown-Temp适用于编写临时文档与在线分享,由小z博客进行开发。 Markdown-Temp说明 编辑器使用Editor.md 后端使用Parsedown进行解析 使用PHP语言,不需要数据库 使用了BootStrap框架 功能介绍 实时预览 支持导出.html、.md等格式 生成唯一链接方便临时分享 每隔30秒自动保存一次 使用说明 大部分核心代码均使用开源程序,小z博客只是在已有的轮子上进行组装。 Markdown-Temp不支持上传图片,若您需要插入图片请使用小z图床。 Markdown-Temp定位与临时在线文档,每个月的10号/25号会定期对用户文档进行清理,最长可保存15天,因此打算长期保存的用户并不适用,所以建议导出.html或.md格式。 其它说明 源码:Markdown-Temp 效果图:
-
一个可以绑定多个OneDrive网盘的极简目录列表:OneList
说明:OneList以前介绍过,主要的特色就是解决了因OneDrive API抽风导致的很多问题,稳定性和访问速度都是不错的。不过由于使用Python写的,而Py单线程容易阻塞,响应不够迅速,刷新缓存时,Web端请求基本不可用,所以在整体性能上有点瑕疵。基于Golang的性能更好,效率更高,多盘并发缓存等众多好处,于是萌咖大佬就弃用Python版本,使用Golang重写了OneList,同时支持国际版、个人免费版(家庭版)、中国版(世纪互联)及多网盘绑定。 截图 更新 【2020.01.09】 修复内存占用过大。 新增支持在线视频播放的移动端自适应主题。 【2019.12.29】 新增隐藏目录或者文件。直接跳过缓存,减少API调用。 新增目录加密,支持不同目录不同账户密码。HTTP 401认证。 【2019.12.28】 新增搜索功能。 功能 支持国际版、个人免费版(家庭版)、中国版(世纪互联)。 支持同时列出多个盘的目录。(要求每个盘的SubPath唯一) 支持文件夹内超过200个项目。 支持后台自动刷新缓存。 支持路径中含有特殊字符。 数据储存在内存中,响应更加迅速。 安装 Github地址:https://github.com/MoeClub/OneList/tree/master/Rewrite 1、授权认证点击右侧URL登录并授权,授权【国际版、个人版(家庭版)】、【中国版(世纪互联)】。 授权后会获取一个localhost开头打不开的链接,这里复制好整个链接地址,包括localhost。 2、安装OneList #新建并进入OneList目录 mkdir /opt/OneList && cd $_ #64位系统下载 wget https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/amd64/linux/OneList #32位系统下载 wget https://raw.githubusercontent.com/MoeClub/OneList//master/Rewrite/i386/linux/OneList #arm架构下载 wget https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/arm/linux/OneList #给予权限 chmod +x OneList 3、使用命令 Usage of OneList: -a string // 初始化配置文件,添加新配置 Setup and Init auth.json. -bind string // 绑定IP地址(公网: 0.0.0.0) Bind Address (default "127.0.0.1") -port string // 绑定端口(HTTP:80) Port (default "5288") -s string // 设置 SubPath 项, 需要与 -a 一起使用. Set SubPath. [unique per account] (default "/") -c string...
-
一款二次元的Web多人在线网络聊天系统:Fiora安装及使用
说明:Fiora是一款偏二次元的Web多人在线聊天应用,使用Node.js、Mongodb、Socket.io和React编写,使用起来还行,挺简洁的,这里水个搭建教程,有兴趣的可以玩玩。 截图 功能 好友,群组,私聊,群聊 文本,图片,代码,url等多种类型消息 贴吧表情,滑稽表情,搜索表情包 桌面通知,声音提醒,语音播报 自定义桌面背景,主题颜色,文本颜色 查看在线用户,@功能 小黑屋禁言 手动安装 Github地址:https://github.com/yinxin630/fiora 所需环境:Nodejs >= 8.9.0、Mongodb。 说明:512M内存vps可能还需要先加一点虚拟内存,不然构建过程会失败,可以使用Swap一键脚本→传送门。 1、安装Nodejs #Debian/Ubuntu系统 curl -sL https://deb.nodesource.com/setup_10.x | bash - apt install -y git nodejs #CentOS系统 curl -sL https://rpm.nodesource.com/setup_10.x | bash - yum install nodejs git -y 2、安装Mongodb #CentOS 6系统,将下面命令一起复制进SSH客户端运行 cat <<EOF > /etc/yum.repos.d/mongodb.repo [mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc EOF yum -y install mongodb-org #CentOS 7系统,将下面命令一起复制进SSH客户端运行 cat <<EOF > /etc/yum.repos.d/mongodb.repo [mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc EOF yum -y install mongodb-org #Debian 8系统 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/4.0...