环境和工具:
- Server:CentOS 7.2
- Client:Window 10
- Tools:Git,Ssh
1. 服务端安装 Git
yum install git -y
配置 git 用户名和邮箱
git config --global user.name "user"
git config --global user.email "user@example.com"
liunx 添加 git 用户
adduser git
切换到 git 用户,进行 ssh 配置,在目录 /home/git 查看是否存在.ssh 目录,如果没有则新建.ssh 目录,并新建文件 authorized_keys(之后用来存储客户端的 ssh 公钥 id_rsa.pub, 一行一个)
mkdir .ssh
cd .ssh
touch authorized_keys
2. 客户端安装 git,并生成 ssh 公钥
客户端下载安装 git
一直默认安装之后,在鼠标右键面板会有 git-bash-here, 点击进入 git-bash, 也要先设置 git 用户名和邮箱,然后进入当前用户目录,查看是否已经配置 ssh, 之后生成 ssh 公钥和私钥
cd ~/.ssh
ssh-keygen -t rsa
cat id_rsa.pub
(这里 ssh-keygen -t rsa 之后要按 3 下回车键,因为是提示是否有设置密码,如果设置了,之后要使用 git 都需要输入密码,所以这里就直接回车键,设置密码为空,之后会在当前文件夹.ssh 生成公钥 id_rsa.pub 和私钥 id_rsa, 然后打开公钥文件复制里面的内容,要把它粘贴在服务器上的 authorized_keys)
3. 服务端设置 authorized_keys
登录服务器,切换为 git 用户,并进入~/home/git/.ssh 文件夹,修改 authorized_keys 文件,把之前复制的 id_rsa.pub 中的内容粘贴上,之后修改 authorized_keys 文件权限, 之后再开放 git,.ssh 文件夹权限(开放权限这里很重要,不然 clone 等操作之后都会提示要输入密码,如果提示需要输入密码的,ssh 公钥配置这里肯定错了)
su git
cd /home/git/.ssh
vim authorized_keys
chmod 700 authorized_keys
cd /home
chmod 700 git
cd git
chmod 700 .ssh
===========================================================
设置完了之后就可以在客户端使用 git 了
我们先服务器上新建一个空仓库
cd /myweb
mkdir gitExample
cd gitExample
git init
接着在客户端输入 git clone git@serverAddress:/repoPath 就可以了
参考:git 官方文档