私钥与公钥的核心定义
私钥(Private Key)和公钥(Public Key)是一对由加密算法(如RSA、ECC等)生成的"密钥对",二者存在严格的数学关联,但具备"单向不可逆"特性------通过公钥无法推导出私钥,而通过私钥可轻松生成对应的公钥。
1. 私钥:绝对保密的"个人密钥"
私钥是密钥对中"保密"的一方,必须由持有者严格保管,不能泄露给任何第三方。私钥的核心作用是"签名"和"解密"------只有持有私钥的人,才能对数据进行有效签名(证明身份),或解密用对应公钥加密的数据。
2. 公钥:可公开的"验证密钥"
公钥是由私钥推导而来的"公开"密钥,相当于你的"数字地址",可以放心地分享给任何人。
公钥的核心作用是"验证签名"和"加密"------任何人都可以用你的公钥加密数据
使用SSH方式和远程仓库通信
1,查看本地是否存有密钥信息
打开Git Bash,然后输入一下命令:
bash
ls -al ~/.ssh
查看输出结果,如果看到类似 id_rsa.pub的文件,说明你已经有一个 SSH 密钥。
如果没有这些文件,或者你想创建一个新的密钥,请继续往下看。
2,生成新的密钥
在Git Bash中,使用以下命令来生成一个新的密钥:
bash
// ssh-keygen(SSH密钥生成器) -t rsa (指定密钥算法为RSA(非对称加密算法))
// -b 4096 (指定密钥长度为4096位(安全性相关)) -C (给密钥添加注释,建议用邮箱)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
回车后,系统会提示你选择保存密钥的路径。默认路径为 ~/.ssh/id_rsa,然后直接按回车即可。
接下来会提示你设置一个密码(可选)。如果你不想设置密码,建议直接按两次回车跳过。
最后,你会看到类似以下的输出:
bash
Your identification has been saved in ~/.ssh/id_rsa.
Your public key has been saved in ~/.ssh/id_rsa.pub.
The key fingerprint is:
3,启动 SSH 代理
SSH 代理是一个在后台运行的程序,用于管理你的 SSH 密钥。
在 Git Bash 中输入以下命令来启动 SSH 代理:
bash
eval "$(ssh-agent -s)"
如果成功启动,你会看到类似以下的输出:
bash
Agent pid 5287
4,将 SSH 私钥添加到 SSH 代理
输入以下命令将私钥添加到 SSH 代理:
bash
ssh-add ~/.ssh/id_rsa
id_rsa可能需要替换为其他对应的文件名。
如果设置了密码,系统会提示你输入密码。
5,复制 SSH 公钥
直接使用cat 命令查看文件内容,并将文件内容全部复制一下。
公钥的内容类似于:
bash
ssh-rsa AAAAB3NzaC1yc2... your_email@example.com
以下不同的平台有不同的操作,如Gitee,以及Github:
1,Gitee
首先注册并登录Gitee平台
鼠标放在右上角头像处会弹出设置选项
点击进入设置然后找到以下内容:

点击进去之后,在下图展示信息处填写信息(标题自定义,公钥处粘贴刚刚复制的内容即可)

添加完成后创建文件夹并初始化git仓库,然后执行以下命令:
bash
git remote add origin git@github.com:username/repository.git
其中:git@github.com:username/repository.git换成下图中自己仓库的内容
上述按钮中SSH选项中的第一个链接,内容类似上述链接。
成功后尝试一下命令:
bash
git pull origin master(此处可能需要根据自己的分支进行修改)
如果发现成功将远程仓库中的内容拉取了下来,那么恭喜,连接成功了。那么创建新文件然后提交仓库也不是问题了。
HTTPS方式和上述方式类似,不过省去了配置密钥的过程,如果是第一次尝试,应该需要输入自己的Gitee的账号和密码。
GitHub和Gitee的操作过程是一模一样的。添加完成密钥之后就可以完成上述指令。
总结:
生成密钥
启动SSH代理
将SSH私钥添加到SSH代理
将公钥配置到Git平台
然后可以进行远程仓库的拉取和推送