Github配置ssh key原理及操作步骤

文章目录

往github上push项目的时候,如果走https的方式,每次都需要输入账号密码,非常麻烦。而采用ssh的方式,就不再需要输入,只需要在github自己账号下配置一个ssh key即可。

配置SSH

git使用SSH配置, 初始需要以下三个步骤

  1. 使用秘钥生成工具生成rsa秘钥和公钥
  2. 将rsa公钥添加到代码托管平台
  3. 将rsa秘钥添加到ssh-agent中,为ssh client指定使用的秘钥文件
第一步:检查本地主机是否已经存在ssh key
powershell 复制代码
PS C:\Users\lenovo> cd ~/.ssh
PS C:\Users\lenovo\.ssh> ls

存在id_rsa(私钥)和id_rsa.pub说明本地已存在。

第二步:生成ssh key

如果不存在ssh key,使用如下命令生成

powershell 复制代码
ssh-keygen -t rsa -C "xxx@xxx.com"
第三步:获取ssh key公钥内容
powershell 复制代码
cat id_rsa.pub
第四步:Github账号上添加公钥

进入Settings设置


添加ssh key,把刚才复制的内容粘贴上去保存即可

第五步:验证是否设置成功
powershell 复制代码
ssh -T git@github.com

注意之后在clone仓库的时候要使用ssh的url,而不是https!

验证原理

SSH登录安全性由非对称加密 保证,产生密钥时,一次产生两个密钥,一个公钥,一个私钥,在git中一般命名为id_rsa.pub, id_rsa。

本地生成一个密钥对,其中公钥放到远程主机,私钥保存在本地。

当本地主机需要登录远程主机时,本地主机向远程主机发送一个登录请求,远程收到消息后,随机生成一个字符串并用公钥加密,发回给本地。本地拿到该字符串,用存放在本地的私钥进行解密,再次发送到远程,远程比对该解密后的字符串与源字符串是否等同,如果等同则认证成功。

相关推荐
朝朝辞暮i25 分钟前
C++ 第 32 课:main()、rclcpp::init()、spin()、shutdown()
开发语言·c++·算法
旋生万物44 分钟前
螺旋角分布的功率谱分析:多窗谱 + FDR 校正
开发语言·python
沫璃染墨1 小时前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
YCOSA20251 小时前
雨晨 Windows 11 IoT 企业版 Edge 轻装 VCDX 29680.1000
windows·物联网
写后端的胖头鱼1 小时前
【高频面试题】FullText 全文索引(MySQL)
数据库·mysql·索引·全文索引
时间的拾荒人1 小时前
Qt 窗口系统详解:从菜单栏到对话框的完整指南
开发语言·qt·面试
Maynor在掘金1 小时前
只用 1 张随手拍,在 Claude Code 里做出 15 秒抖音带货视频(配音 + 字幕花字 + BGM,本地出片)
github
路远的数据库笔记1 小时前
SQL Server迁移国产数据库怎么做?九套口岸库零停机割接实战
数据库·经验分享·sqlserver·dba
樱花落木兰1 小时前
分布式登录实战:Session 会话共享改造,Redis 存储用户登录状态
java·javascript·数据库·redis·分布式·缓存
wuyk5551 小时前
Python 网络爬虫入门到实战 第 04 章:请求头、UA 伪装、超时、异常处理、基础反爬绕过
开发语言·爬虫·python