Git配置SSH公钥
Git配置SSH公钥后,可以免去输入账号密码实现Git仓库的推送与拉取
环境
本地 Windows 11
云服务器 CentOS 9
本地配置
1、安装Git
在桌面右键出现下图红框内容如有 Git bash Here
说明安装成功:
2、设置全局用户
1 | git config --global user.name "用户名" |
3、设置全局邮箱
1 | git config --global user.email "邮箱" |
4、生成ssh密钥对
1 | cd ~ |
连续回车4次所示
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 | cd ~ |
10、编辑id_rsa.pub文件
1 | vi id_rsa.pub |
按 i
键进入输入模式,将本地的公钥(id_rsa.pub
文件内容)写入,然后按 ESC
键退出输入模式,输入 :wq
保存
11、复制id_rsa.pub到authorized_keys
1 | cp id_rsa.pub authorized_keys |
此时 /home/git/.ssh
目录下应该有 id_rsa.pub
和 authorized_keys
两个文件
12、设置权限
1 | chmod 600 ~/.ssh/authorized_keys |
13、确保设置了正确的SELinux上下文
1 | restorecon -Rv ~/.ssh |
SSH测试
本地终端输入
1 | ssh git@111.11.1.11 |
111.11.1.11
要换成自己云服务器的公网IP
正常所示: