配置SSH访问GIT
2017-01-16 00:00
288 查看
摘要: 配置一个简单的Git服务器,通过SSH访问操作。适合小团队或个人使用。
也可以编译安装:centos 编译安装git
二、创建
用以通过
默认情况下会创建一个
这一步是为了在拉取或推代码时不再输入密码
当然你也可以为用户设置密码,然后再操作项目时输入密码,但是不推荐这样做。(理由如果你不理解的话,就操作一遍喽!)
新建一个裸库,关于(
裸库最大的区别是在服务器上进入目录后看到的不再是项目的文件,而是原项目
五、修改项目所属者为
改变项目所属,可以避免其他用户操作文件,也可以避免绝大多数权限问题。
六、禁用用户的
1、编辑
2、修改刚才新建用户记录
将
修改为:
即禁用shell登录
请检查
如果出现:
则代表配置成功。
warning 警告拉取的是一个空的库
这里附两个方法,不过没试过,是在网络上看到的。
1、gitolite
2、通过GIT Hook管理
一、安装GIT
sudo apt-get install git
也可以编译安装:centos 编译安装git
二、创建git
用户
用以通过git来操作git项目
sudo adduser git
默认情况下会创建一个
git的用户属于
git组
三、为用户创建证书登录
将需要管理操作git项目的成员用户id_rsa.pub(即
github的
SSH keys管理),添加到
/home/git/.ssh/authorized_keys,一行一个。
这一步是为了在拉取或推代码时不再输入密码
当然你也可以为用户设置密码,然后再操作项目时输入密码,但是不推荐这样做。(理由如果你不理解的话,就操作一遍喽!)
四、初始化Git仓库
sudo git init --bare sample.git
新建一个裸库,关于(
git init和
git init --bare)的区别
裸库最大的区别是在服务器上进入目录后看到的不再是项目的文件,而是原项目
.git文件里的内容。
五、修改项目所属者为git
sudo chown -R git:git sample.git
sample.git为上步新建项目文件夹
改变项目所属,可以避免其他用户操作文件,也可以避免绝大多数权限问题。
六、禁用用户的shell
1、编辑/etc/passwd
sudo vi /etc/passwd
2、修改刚才新建用户记录
将
git:x:1001:1002::/home/git:/bin/bash
修改为:
git:x:1001:1002::/home/git:/usr/bin/git-shell
即禁用shell登录
请检查
/usr/bin/git-shell是否存在(即是否安装成功)
七、验证是否成功
git clone git@xyser.com:dingdayu/sample.git
如果出现:
Cloning into 'sample'... warning: You appear to have cloned an empty repository. Checking connectivity... done.
则代表配置成功。
warning 警告拉取的是一个空的库
dingdayu/sample.git是库的路径,是相对于用户主目录的路径。
附:公钥管理
小团队的管理通过修改authorized_keys还可以管理(所有人可以操作所有库),当具体的操作权限细分后,比如每个库不同的操作用户时,就不在满足。
这里附两个方法,不过没试过,是在网络上看到的。
1、gitolite
2、通过GIT Hook管理
相关文章推荐
- 配置 git 以ssh公钥访问github
- GitHub GitBash配置SSH访问方式
- 在Linux中配置ssh密钥,在Git中使用SSH协议访问Github
- 通过sshpass实现自动配置搭建Hadoop完全分布式所需的SSH免密码访问
- 在system1上配置ssh无密码访问system2
- ubuntu服务器下git ssh 密钥 配置
- 替代svn,使用git做版本控制 TORTOISEGIT的SSH配置
- SVN+SSH协议工作方式全解析,以Sourceforge为例讲解如何在Windows下配置TortoiseSVN和Subclipse访问SVN+SSH协议的Repository
- 配置Linux服务器 SSH安全访问的四个小技巧
- ssh免密码的访问git服务器bitbucket
- 配置 Git 和 SSH 密钥连接 Github
- git的ssh配置,包括多个git server配置ssh config,使用多个ssh identify
- hadoop ssh无密码访问配置
- Linux上SSH的配置,Linux与windows的ssh客户端访问
- VirtualBox安装Centos,配置网络(主机可以通过SSH连接虚拟机系统,同时虚拟机系统可以访问外网)
- 关于ssh证书访问git仓库时的权限问题