SSH 密钥基础概念
生成原理
SSH 公钥与私钥是基于非对称加密算法(如 rsa、ed25519)生成的密钥对。 两者须配合使用,缺一不可。
作用
当你想要远程连接服务器时,传统方式需要账号、密码登入。 有两个缺点:
- 需要频繁输入验证
- 可能被暴力破解、窃取,安全性不高。
原理
生成SSH 公钥与私钥后,可将公钥储存在其他平台、服务器上(GitHub 等),而私钥存储在本地。 当你尝试连接目标服务器时,大概会分成三步:
- 该服务器会向你的电脑发送一段随机数据。
- 该数据会被本地 SSH 私钥签名,并返回给服务器。
- 服务器会用你的公钥验证返回的签名是否正确。正确则可登入,否则不行。
重点是,私钥会一直在自己的电脑上,无法让坏人通过网络窃取。安全性高于密码。
获取 SSH 公钥步骤
本教程基于 Git 环境操作。
未生成过 SSH 密钥
(拥有密钥的可以直接跳过)
在 Windows 下打开 Git Bash,创建 SSH Key:
ssh-keygen -t rsa -C "[email protected]"

已生成过 SSH 密钥
在安装 Git 的前提下,随机找一个文件夹(在桌面也行),右键打开 Open Git Bash Here。
- 输入
cd ~/.ssh进入到.ssh文件夹 - 输入
ls查看.ssh文件夹里面的文件,有【id_rsa】【id_rsa.pub】...,而 SSH 密钥就在【id_rsa.pub】文件内。 - 输入
cat id_rsa.pub,直接复制 SSH 密钥即可。 - 若要找密钥文件路径的话,输入
pwd,就可以看到。

总结
公钥是「门锁」,私钥是「唯一钥匙」:
- 你把「门锁」(公钥)交给服务器,告诉它:'只有持有对应钥匙(私钥)的人才能进门。'


