在服务器搭建git服务器
服务端操作
安装Git及创建用户组、用户
1 |
yum install git |
禁止用户git登录
修改/etc/passwd文件:
找到这句: git:x:503:503::/home/git:/bin/bash
改为: git:x:503:503::/home/git:/usr/bin/git-shell
git-shell这个命令地址有可能不是/usr/bin/git-shell,最好用which git-shell命令查看一下,确保命令地址正确。
创建证书登录
1 |
mkdir /home/git/.ssh |
启用免密登录
/etc/ssh/sshd_config,启用该文件中以下三项内容:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
然后重启ssh服务:service sshd restart
创建git仓库
1 |
$ cd /srv |
客户端操作
生成密钥ssh-keygen -t rsa -C “youremail@xxx.com“
如果不想以后使用时再输入密码,就一路回车,会生成id_rsa密钥文件和id_rsa.pub公钥文件,存放的地址会默认放在c:/Users/Shem/.ssh目录下。
如果有用户密码:可以使用命令将密钥追加到服务器git用户目录/home/git/.ssh/authorized_keys文件中:ssh root@host ‘mkdir -p /home/git/.ssh && cat >> /home/git/.ssh/authorized_keys’ < ~/.ssh/id_rsa.pub
也可以使用root登录后,将公钥内容直接复制,vim打开/home/git/.ssh/authorized_keys文件粘贴到里面去,一行一个公钥
拉取项目
git clone git@xxx.xxx.xxx.xxx:/srv/gitrepo/project-name.git(默认ssh端口为22)
git clone ssh://git@xxx.xxx.xxx.xxx:22/srv/gitrepo/project-name.git
如果ssh端口不是22,则需要修改此命令
免密访问失效的原因
- 可能是以上操作中的文件或者目录权限不正确,需要检查一遍
- 可能是selinux的开启导致
- 可能是以上操作“禁止用户git登录”导致的,则需要取消这个操作
参考
- Git简单生成公钥和私钥的方法
- 搭建属于你自己的 Git 服务器
- Git服务器搭建之CentOs7-阿里云搭建
- Linux下实现免密登录
- selinux 开启和关闭
- Centos服务器ssh免密登录以及搭建私有git服务器
- SSH原理与运用(一):远程登录
- 搭建git服务器ssh免密码登录问题
在服务器搭建git服务器的更多相关文章
- #阿里云#云服务器搭建git服务器
前言:大家都知道,git是非常方便的版本控制工具,目前网上有很多免费的git仓库可以给我们使用,但是有些时候我们并不放心将我们的项目寄放在别人的服务器上,这个时候就需要自己搭建一个git服务器,十分的 ...
- 搭建Git服务器
在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
- centos 搭建git服务器
centos 6搭建git服务器 安装 rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm yum ins ...
- 如何在服务器上搭建git服务器
参考文章: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770 ...
- 使用Gitosis搭建Git服务器
使用Gitosis搭建Git服务器 作者: JeremyWei | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://weizhifeng.net/build- ...
- CentOS 6.4 搭建git 服务器
CentOS 6.4 搭建git 服务器 (2013-11-22 19:04:09)转载▼ 标签: it 分类: Linux 此文件是依据markdown所编写,更好效果参见本人github的文档ht ...
- Windows平台使用Gitblit搭建Git服务器图文教程
Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭源的项目就会收取昂贵的费用,如果你不缺米,那么不在本文讨论的范 ...
- 在linux中搭建git服务器
个人觉得, 以下搭建git服务器的过程就像是在linux增加了一个用户, 而这个用户的登录shell是 git-shell, 太刨根问底的东西我也说不清楚, 还是看下面的过程吧. 过程参考了网上的文章 ...
随机推荐
- 未能加载文件或程序集“MySql.Data”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
未能加载文件或程序集“MySql.Data”或它的某一个依赖项.找到的程序集清单定义与程序集引用不匹配. (异常来自 HRESULT:0x80131040) 说明: 执行当前 Web 请求期间,出现未 ...
- .equal()和==的区别
1.首先,equal和==最根本的区别在于equal是一个方法,而==是一个运算符. 2.一般来说,==运算符比较的是在内存中的物理地址,.equal()比较的是哈希算法值是否相等(即hashcode ...
- Bugku 社工
1.密码 姓名:张三 生日:19970315 猜想KEY是:zs19970315. 结果就是如此.
- 实现Action
实现Action 对于开发者来说,Action才是应用的核心,开发者需要提供大量的Action类,并在Struts.xml文件中配置Action.Action类中包含了用户请求的处理逻辑,Action ...
- 第2章 ZooKeeper安装与启动
第2章 ZooKeeper安装 2-1 JDK的安装 需要先在Linux系统下安装JDK1.8 tar -zxvf jdk-8u231-linux-x64.tar.gz rm -f jdk-8u231 ...
- python3.x设置默认编码(sys.stdout.encoding和sys.defaultencoding)
查了一会资料得出的结论是如果你用的是python3.x,那么就最好别去设置sys.defaultencoding或者sys.stdout.encoding记住在需要编码的时候用encode,解码的时候 ...
- Win 10 Ctrl + Space 冲突
1. 说明 在IDE里面Ctrl + space 会与 Windows 输入法相互冲突,并且用Ctrl + Space 切换中英文也很不常用(常用直接shift切换). 2. 操作 控制面板——时钟. ...
- Spring-Boot 访问外部接口的几种方案总结
一.简介 在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求,针对这一需求目前存在着三种解决方案,下面将对这三种方案进行整理和说明. 二.Spring- ...
- 并发与高并发(二)-JAVA内存模型
一.java内存模型(JMM)-同步操作与规则 它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式.一个线程如何和何时能看到其他线程共享 ...
- Java常用的公共方法
--获取规字符串中的指定名称的某个字段值 1.public String getValueByName(String params,String name) --用于通过表单选中的复选框获取它的值(j ...