Git配置SSH公钥

Git配置SSH公钥后,可以免去输入账号密码实现Git仓库的推送与拉取

环境

本地 Windows 11
云服务器 CentOS 9

本地配置

1、安装Git

通过官网下载
通过淘宝镜像下载(下载速度快)

在桌面右键出现下图红框内容如有 Git bash Here 说明安装成功:
1

2、设置全局用户

1
git config --global user.name "用户名"

3、设置全局邮箱

1
git config --global user.email "邮箱"

4、生成ssh密钥对

1
2
cd ~
ssh-keygen

连续回车4次所示
ssh-keygen

5、查看公钥

1
cat ~/.ssh/id_rsa.pub

服务器配置

1、安装Git

1
sudo yum install git

2、查看Git版本

1
git --version

3、创建一个名为git的用户

1
useradd git

4、更改文件权限

1
chmod 740 /etc/sudoers

5、配置git用户权限

1
vim /etc/sudoers

i 键进入输入模式,在 root ALL=(ALL) ALL 下一行添加

1
git ALL=(ALL) ALL

ESC 键退出输入模式,输入 :wq 保存

6、改回文件权限

1
chmod 400 /etc/sudoers

7、更改git密码

1
sudo passwd git

8、切换到git用户

1
su git

9、创建 .ssh 目录

1
2
3
cd ~
mkdir .ssh
cd .ssh

10、编辑id_rsa.pub文件

1
vi id_rsa.pub

i 键进入输入模式,将本地的公钥(id_rsa.pub 文件内容)写入,然后按 ESC 键退出输入模式,输入 :wq 保存

11、复制id_rsa.pub到authorized_keys

1
2
cp id_rsa.pub authorized_keys
ls

此时 /home/git/.ssh 目录下应该有 id_rsa.pubauthorized_keys 两个文件

12、设置权限

1
2
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

13、确保设置了正确的SELinux上下文

1
restorecon -Rv ~/.ssh

SSH测试

本地终端输入

1
ssh git@111.11.1.11

111.11.1.11 要换成自己云服务器的公网IP

正常所示:
ssh-ceshi