Linux部署 · GIT在linux系统安装git和配置实现SSH

Posted 爱笑的狐狸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux部署 · GIT在linux系统安装git和配置实现SSH相关的知识,希望对你有一定的参考价值。

领导给了一个不开放ftp的测试库,让我部署项目。拿到一个全新的环境,真是个练手的好机会。

该操作系统为:CentOs release 6.5(Final)

由于不开放ftp,所以上传下载代码是非常麻烦的,我想到的解决方法就是git来做同步和版本控制。

1,检查是否安装git

yum -y install git

控制台输出结果:-bash: yun: command not found 【没有安装git】

2,安装git

yum install git

我最喜欢的命令就是yum,这是最简单的方式了(其实就是我掌握的命令有限)。

安装过程中会提示:

Is this ok [y/N]: 

这里输入y即可。

3,验证git是否安装成功

git --version

控制台输出:

git version 1.7.1

这说明安装成功了。

通常来说,如果没有指定安装路径,git的默认安装目录:/usr/share/git-core/

4,配置git的SSH连接方式

这里也证明了ssh_key在不同操作系统的可移植性。

我这里采用的是从其它操作系统拷贝过来的密钥公钥,因此不在这里赘述生成ssh_key的方式,如果需要了解自行百度。

cd /.ssh
vi id_rsa

 进入到.ssh目录,并且新建id_rsa文件,从我其他可用的操作系统复制过来。

这里涉及到的linux命令有:

vi : 打开文件编辑,如果文件不存在会自动创建;

i:打开文件之后输入i会进入insert模式;

ESC+Shift+zz : 最简单退出vim并保存的操作。

同样的方式创建:

最后将密钥添加到ssh-agent中,这样密钥才会起作用

ssh-add /.ssh/id_rsa

5,配置git的SSH非默认端口(该步骤可以省略)

Port 7700

这里的端口号使用7700,当然也可以根据实际情况设置其它的端口号。

6,git clone 项目

一般我习惯在/root/projectName/code下创建git根目录

cd /root/projectName/code
git init
git clone git@xxx.xxx.x.xx:project -b branch

分支太多,我们通常也只是选定某个分支部署。

如果没有在config文件中配置端口号,那么克隆代码的命令可以使用如下:

git clone ssh://git@xxx.xx.xxx.xx:port/project -b branch

 7,遇到的问题总结

(1)执行ssh-add命令报错:

Could not open a connection to your authentication agent.

 解决方法:

eval `ssh-agent -s`

 (2)执行ssh-add命令报错:

Permissions 0644 for \'/.ssh/id_rsa\' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

 解决方法:

cd /.ssh
chmod 700 id_rsa

 (3)由于一开始我的私钥配置等没有放在/.ssh目录下,而是放置在/root/.ssh目录下,所以遇到了下面这个问题:

Permission deined,please try again.
\'git@xxx.xx.xxx.xx\' s password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
fatal:The remote end hung up unexpectedly

 这个我估计是用户权限的问题,懒得从权限这方面去入手解决。我直接更换到/.ssh就可以解决问题。

 

 

---------------------------------------- end -------------------------------------------------

为自己鼓掌~!!!棒棒哒。

 

 

 

 

 

 

 

 

 

  

 

以上是关于Linux部署 · GIT在linux系统安装git和配置实现SSH的主要内容,如果未能解决你的问题,请参考以下文章

Centos 7.X 部署基于Git&Gitolite的分布式版本控制系统

基于Hexo的博客搭建——虚拟机中linux(deepin)系统上安装配置Git和Node.js,为部署个人博客做前期准备

基于linux的Git平台的部署与Gitolite使用

Git命令

自动化服务部署:Linux下安装Git

linux 上安装部署python