Git安装及配置

一.Git服务端安装

1.安装依赖包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

2.下载最新版源码包https://www.kernel.org/pub/software/scm/git/

3.解压源码包,并进入解压目录

  tar -zxvf git-2.16.1.tar.gz

  cd git-2.16.1

4.指定安装目录为/usr/local/git-2.16.1 并执行安装命令

./configure --prefix=/usr/local/git-2.16.1

make

make install

5.设置全局环境变量,修改/etc/profile 并使修改生效

export PATH=$PATH://usr/local/git-2.16.1bin

6.修改完成之后,执行命令,生效配置文件

source /etc/profile

7.安装完后,查看 Git 版本

  git --version

查看安装的git版本,校验通过,安装成功。

二.客户端安装

下载 Git for Windows,地址:https://git-for-windows.github.io/
安装完之后,可以使用 Git Bash 作为命令行客户端。
安装完之后,查看 Git 版本

三.服务器端创建 git 用户,用来管理 Git 服务

[root@localhost home]# id gitid: git:无此用户

[root@localhost home]# useradd git

[root@localhost home]# passwd ****

四.服务器端创建 Git 仓库

 

设置 /home/data/git/hczz.git 为 Git 仓库
然后把 Git 仓库的 owner 修改为 git

[root@localhost home]# mkdir -p data/git/hczz.git
[root@localhost home]# git init --bare data/git/gittest.gitInitialized empty Git repository in /home/data/git/hczz.git/
[root@localhost home]# cd data/git/[root@localhost git]# chown -R git:git hczz.git

五.客户端 clone 远程仓库

进入 Git Bash 命令行客户端,
创建项目地址(设置在 d:/ruby_project/hczz)
并进入:
cd ruby_project/hczz
mkdir hczz_git
cd hczz_git

然后从 Linux Git 服务器上 clone 项目:

$ git clone git@95.32.7.101:/home/data/hczz.git

当第一次连接到目标 Git 服务器时会得到一个提示:

The authenticity of host '95.32.7.101 (95.32.7.101)' can't be established.RSA key fingerprint is 
SHA256:Ve6WV/SCA059EqoUOzbFoZdfmMh3B259nigfmvdadqQ.Are you sure you want to continue connecting (yes/no)?

选择 yes:

Warning: Permanently added '95.32.7.101' (RSA) to the list of known hosts.

此时 C:\Users\用户名.ssh 下会多出一个文件 known_hosts,
以后在这台电脑上再次连接目标 Git 服务器时不会再提示上面的语句。

后面提示要输入密码,可以采用 SSH 公钥来进行验证。

六.客户端创建 SSH 公钥和私钥
$ ssh-keygen -t rsa -C "1889313114*@qq.com"

 

此时 C:\Users\用户名.ssh 下会多出两个文件 id_rsa 和 id_rsa.pub
id_rsa 是私钥
id_rsa.pub 是公钥

七. 服务器端 Git 打开 RSA 认证

进入 /etc/ssh 目录,编辑 sshd_config,
打开以下三个配置的注释:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys


保存并重启 sshd 服务:

[root@localhost ssh]# /etc/rc.d/init.d/sshd restart


由 AuthorizedKeysFile 得知公钥的存放路径是 .ssh/authorized_keys,
实际上是 $Home/.ssh/authorized_keys,由于管理 Git 服务的用户是 git,
所以实际存放公钥的路径是 /home/git/.ssh/authorized_keys
在 /home/git/ 下创建目录 .ssh

[root@localhost git]# pwd/home/git
[root@localhost git]# mkdir .ssh
[root@localhost git]# ls -a. 
.. .bash_logout .bash_profile .bashrc .gnome2 .mozilla .ssh


然后把 .ssh 文件夹的 owner 修改为 git


[root@localhost git]# chown -R git:git .ssh

[root@localhost git]# ll -a

总用量 32
drwx------.
5 git git 4096 8月 28 20:04 .
drwxr-xr-x. 
8 root root 4096 8月 28 19:32 ..
-rw-r--r--.
1 git git 18 10月 2 2018 .bash_logout
-rw-r--r--. 
1 git git176 10月 2 2018 .bash_profile
-rw-r--r--. 
1 git git 124 10月 16 2014 .bashrc
drwxr-xr-x. 
2 git git 4096 11月 2 2018 .gnome2
drwxr-xr-x.
4 git git 4096 5月 8 12:22 .mozilla
drwxr-xr-x. 
2 git git 4096 8月 28 20:08 .ssh

八.将客户端公钥导入服务器端 /home/git/.ssh/authorized_keys 
文件
回到 Git Bash 下,
导入文件:
$ ssh git@95.32.7.101 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

需要输入服务器端 git 用户的密码

回到服务器端,查看 .ssh 下是否存在 authorized_keys 文件:

[root@localhost git]# cd .ssh
[root@localhost .ssh]# 
ll总用量 4-rw-rw-r--. 
1 git git 398 8月 28 20:08 authorized_keys

可以查看一下是否是客户端生成的公钥。

重要:

修改 .ssh 目录的权限为 700

修改 .ssh/authorized_keys 文件的权限为 600

[root@localhost git]# chmod 700 .ssh

[root@localhost git]# cd .ssh

[root@localhost .ssh]# chmod 600 authorized_keys

九.客户端再次 clone 远程仓库

$ git clone git@95.32.7.101:/home/data/git/hczz.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值