Cent OS 搭建git服务器及配置SSH访问-详细步骤

2018-03-01 11:00:14来源:https://www.jianshu.com/p/b9b4cb3425d2作者:_RANGO人点击

分享



最近开始折腾linux(先借的哈哈,那个前端开发还没个后台好基友呢)
也算数初步入门了吧,刚好公司git需要迁移于是就有了这篇文章。
虽然遇到问题都解决了,但是也在反思,仅仅明白命令的作用还不足。还是要对系统环境有一个广度的认知才行,在解决问题时才能有正确的方向。



一、Cent OS git 安装

1.下载linux对应的压缩安装包,上传至服务器目录(你也可以直接使用wget工具下载,但服务器一般下载都比较慢)
下载地址:https://www.kernel.org/pub/software/scm/git/
我这里下载的是:git-2.9.0.tar.gz


2.解压
tar xzf git-2.9.0.tar.gz


3.设置安装路径前缀,安装路径/usr/local/SoftWareName


cd git-2.9.0
configure --prefix=/usr/local/git -with-tcltk


通常首次安装git,configure可能都没有配执行路径,换成这样即可:
./configure --prefix=/usr/local/git -with-tcltk



4 安装
还是在 解压目录git-2.9.0
//make all 可安装说明文档
make
make install

运行 git --version 查看是否成功
如果是首次安装就还需将git 命令执行路径添加到 PATH


vim /etc/bashrc
//末尾加入如下命令
export PATH=/usr/local/git/bin:$PATH保存退出
//刷新配置
source /etc/bashrc
//重新运行 git --version
[root@xx git-2.9.0]# git --version
git version 2.9.0

到这里安装就结束了。


二、服务器创建git远程仓库

1.创建一个裸仓
git init --bare
为什么使用--bare?


2.创建项目仓库(work tree 目录)


cd myProject.git/
git init

完成项目仓库初始化。此时已经可以访问这个仓库了。
3.配置远程仓库地址
git remote add origin git@xx.xx.xx/xx/myProject.git
查看是否添加成功
git remote -v



这里可以随便添加个文件,比如加个README.md



4.从远程仓库clone 到本地。
git clone ssh://git@xx.xxx./xx/myProject.git


5.测试提交可能会遇到需要设置denyCurrentBranch 的错误提示
到服务器端.修改work tree 下 .git/config 文件。末尾添加


[receive]
denyCurrentBranch = ignore

保存重新提交。
6.服务器查看提交的文件
刷新提交
git reset --hard
运行完毕,可看到见修改内容就大功告成


三、配置ssh 访问方式


关于git在linux上的用户管理方式,这里就省略了。
我上面使用的用户叫 git ,所以这里默认就在git 根目录操作



1.切换至root 用户


su root
cd /etc/ssh
vim sshd_config

解开下面三行注释


RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

保存重启sshd服务
/etc/rc.d/init.d/sshd restart
上面看到 身份认证文件要放到.ssh目录下
2.创建身份认证文件并添加公钥
进入git 用户根目录创建 .ssh 文件夹及 authorized_keys文件


cd /home/git
mkdir .ssh
cd .ssh
touch authorized_keys
vim authorized_keys
//将公钥添加至文件末尾 保存退出

3.使用root 用户 开启ssh 访问
vim /etc/passwd
找到
git:x:502:504::/home/git:/bin/git-shell
修改为
git:x:502:504::/home/git:/bin/bash
重新在客户端commit push 就不用输入密码了。


END






微信扫一扫

第七城市微信公众平台