1、公钥的生成
任何一个需要使用git服务器的工程师都需要生成一个ssh的公钥。可以通过ssh-keygen来生成
~/.ssh$ ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/home/shizhen/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /home/shizhen/.ssh/id_rsa.Your public key has been saved in /home/shizhen/.ssh/id_rsa.pub.The key fingerprint is:a8:19:49:f4:e6:e8:4f:8f:3e:47:c9:19:4c:09:ee:7f shizhen@sz-desktopThe key's randomart image is:
首先会让你输入要保存公钥的位置,直接回车即可,接着会提示让你重复一个密码两次,如果不想再使用公钥的时候输入密码,直接回车即可。完成后会在home目录下的.ssh目录中生成两个文件id_rsa(私有密钥)和id_rsa.pub(公钥)。
将生成的公钥即id_rsa.pub发给git仓库的管理者。
2、架设服务器
(1)服务器端
最好建立一个git组,让后再添加一个git用户,并且添加到该组当中。
sudo adduser git
su git
cd ~
mkdir .ssh
在git用户新建一个.ssh的目录,将开发者的SSH公钥添加到git这个用户的authorized_keys这个文件当中。如有zhangsan,lisi两个开发者。
cat /tmp/id_rsa_zhangsan.pub >> ~/.ssh/authorized_keys
cat /tmp/id_rsa_lisi.pub >> ~/.ssh/authorized_keys
建立一个空的仓库
cd work
mkdir project.git
cd project.git
git --bare init
使用--bare会初始化一个不带任何工作目录的仓库,不会看到工程源码。
为了不使开发者每次clone代码的时候都输入ip地址,可以采用DNS的方式。具体操作如下
sudo vim /etc/hosts
在里面加入下面一行
192.168.1.100 gitserver
(2)开发者端
若没有仓库的情况下,需要首先新建一个仓库。在需要建立仓库的,目录下执行以下的命令。
cd my_project
git init
git add . (将所有文件加入仓库管理)
git commit -m "initial commit"
git remote add origin git@gitserver:/home/git/work/project.git (即:git@192.168.1.100:/home/git/work/project.git)
git push origin master
若本地已有仓库,但想把其中的代码push到我们新的服务器上,可以直接用下面的命令
把想要push的分支代码新建成master分支
git checkout -b master xxxxx
git push origin master
这样一个简单的服务器就可以工作了,其他的开发者可以直接从服务器上进行代码开发了。
为了保护git服务器,限制开发者登陆服务器,可以采用如下的措施。
sudo vim /etc/passwd
在文件结尾找到这样的类
git:x:1001:1001:,,,:/home/git:/bin/bash
将其中的/bin/bash/改为/user/bin/git-shell
现在开发者只能通过SSH来推送和获取代码,不能登陆ssh服务端了。
3.问题
現在的 ssh 使用同樣的方法會出現錯誤訊息
Agent admitted failure to sign using the key
解決方式 使用 ssh-add 指令将私钥 加进来 (根据个人的密匙命名不同更改 id_rsa)
即各自的开发者执行命令
ssh-add id_rsa
相关推荐
window下本地git服务器搭建与使用详解
关于ubuntu下git服务器的搭建
此资源主要讲解了window环境下怎样搭建svn和git服务器,如何创建用户和组,并对仓库进行用户访问权限设置等。
(git服务器搭建+git教程+git廖雪峰)
一、 Windows2003下安装GIT服务器所需的软件 5 二、 Msysgit与copssh的安装 5 三、 程序配置 6 1. 服务端git支持配置 6 2. 服务端Copssh配置 6 3. 客户端git配置(配置成支持远程无密码登入) 8 四、 测试Git服务器 ...
git服务器搭建的时候所遇问题及解决方案
Git服务器客户端搭建文档,Git服务器客户端搭建,Git服务器客户端搭建
本人自己写的关于git服务器搭建的文档,非常详细,亲测成功。
Windows下搭建基于ssh的git服务器
linux下搭建git服务器步骤,本人亲测可用。linux下搭建git服务器步骤,本人亲测可用
git服务器搭建。这个是window上面搭建的git服务器,有详细的图文步骤,使得开发者可以轻易的搭建git服务器
搭建openshift需要使用到git服务器。git服务器搭建、使用。
改教程详细的介绍了如何在Windows系统平台下搭建GItblit服务器
Ubuntu下Git服务器打搭建 客户端的使用教程和git学习资料等,资源分虽然要了10分但是这是我一周总结的,现在没分了想坑一点积分。有积分后我就免费下载了,下载的人不要为要积分而喷。也谢谢大家给我积分
linux搭建git服务器
windows下git服务器的搭建 windows git copssh tortoisegit
Git服务器搭建和配置
centos_git服务器搭建 使用Git来部署一个Web站点笔记
利用gitlib搭建本地的git服务器,便于苹果的协同开发
同一台电脑上搭建GIT服务器和客户端 git 同一台电脑上搭建GIT服务器和客户端 git 服务器