学习目标
Linux搭建git服务器作为服务端,windows作为客户端能够访问Git服务器内容。
实际操作
1.安装:
服务器端
# yum install -y git //安装
# git --version //查看版本信息
客户端
下载 Git for Windows,地址:https://git-for-windows.github.io/
# git --version //查看Git版本
2.创建git用户
# cd /home
# id git //查看git用户
# useradd git //添加git用户
# passwd root //为git用户设置密码
3.创建git仓库
# mkdir -p data/git/gittest.git
# git init --bare data/git/gittest.git //设置 /home/data/git/gittest.git 为 Git 仓库
# chown -R git:git gittets.git/ //把 Git 仓库的 owner 修改为 git
4.客户端clone远程仓库
手动创建项目地址 d:/wamp64/www/gittest_gitbash
$ git clone git@192.168.XXX.XXX:/home/data/gittest.git //客户端clone远程仓库 Cloning into ‘ gittest ’...
当第一次连接到目标 Git 服务器时会得到一个提示:
The authenticity of host '192.168.56.101 (192.168.56.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 '192.168.56.101' (RSA) to the list of known hosts.
此时 C:\Users\用户名\.ssh 下会多出一个文件 known_hosts ,以后在这台电脑上再次连接目标 Git 服务器时不会再提示上面的语句。
5.客户端创建SSH 公钥和私钥
$ ssh-keygen -t rsa -C “XXXXXX@qq.com”
Generating pulic/private rsa key pair.
此时 C:\Users\用户名\.ssh 下会多出两个文件 id_rsa (私钥)和 id_rsa.pub(公钥)
6.服务器端git 打开RSA认证
# cd /etc/ssh // 进入/etc/ssh目录
# vi sshd_config // 编辑sshd_config
RSAAuthentication yes //可能会隐藏,不要强行添加
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
确认后,wq保存退出。
# systemctl restart sshd.service //保存并重启sshd服务
# cd /home/git
# pwd
/home/git
# mkdir .ssh // 在 /home/git/下创建目录 .ssh
# ls -a
# chown -R git:git .ssh // 将 .ssh文件夹的owner修改为git
# ll -a
7.将客户端公钥导入服务器端
$ ssh git@192.168.XXX.XXX ‘cat >> .ssh/authorized_keys ’ < ~/.ssh/id_rsa.pub //将客户端公钥导入服务器端
回到服务器端,查看 .ssh 下是否存在 authorized_keys 文件:
# cd .ssh
# ll
8.修改权限
修改 .ssh 目录的权限为 700
修改 .ssh/authorized_keys 文件的权限为 600
# cd /home/git
# chmod 700 .ssh
# cd .ssh
# chmod 600 authorized_keys
9.再次clone远程仓库
在 /d/wamp64/www/gittest_gitbash 下
$ git clone git@192.168.XXX.XXX:/home/data/git/gittest.git
Cloning into ‘gittest’...
完成以上操作后,接下来就可以使用 tortoiseGit (该工具可自行下载)来管理项目了
进入/d/wamp64/www/gittest_gitbash 下,单击鼠标右键,再单击 Git Clone,即可出现如下页面
单机OK
以上就完成了。