$ sudo adduser git
收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
如果没有该文件创建它:
首先我们选定一个目录作为Git仓库,假定是/home/gitlab/runoob.git,在/home/gitlab目录下输入命令:
一定要将初始化的仓库给Git
$ chown -R git:git probject.git
$ git clone git@<ip>:/home/gitlab/probject.git
然后就可以推送了
出于安全考虑,创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
Git服务的管理工具,主要有如下几种。
Gitolite 使用perl语言编写,维护和更新比较积极,下面测试使用Gitolite搭建Git服务器。
一般新建用户 ~/.ssh/ 目录是不存在的。
生成路径会在ssh-kengen执行后给出,也可修改。windows下生成路径默认位于 C:/user/用户名/.ssh 下。
此时, gitolite 会初始化两个仓库,同时创建 authorized_keys 文件
管理库中有两个目录, conf/ 和 keydir/ 。
仓库的创建通过编辑 gitolite-admin/conf/gitolite.conf 即可,然后将配置后的文件上传服务器。
若本地已有仓库repo2,将其添加到服务器
gitolite可以通过用户组的方式进行管理
如上提示,需要输入密码。
需要安装 openssh ,并将 gitolite 用户添加在 sshusers 组中,有的服务器可能是 ssh 组。
计算机领域的Cookbook指的是实用经典案例的意思,是对一些普遍性问题的解决方案的总结和整理。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)