Windows系统如何查看SSH公钥?
很多人只关注 “拿到 SSH 公钥”,却没搞懂公钥 / 私钥的核心逻辑 —— 其实搞懂原理,操作会更安全、更不容易出错。
第 1 分钟:速通 SSH 密钥核心概念
01
如何生成?
SSH 公钥(*.pub
)和私钥(无后缀)是一对通过非对称加密算法生成的密钥,常见算法有两种:
RSA
兼容性强(老服务器 / 平台优先选);
ED25519
更安全、生成的密钥更小(新环境优先选,比 RSA 更推荐)。
这对密钥必须 “成对使用”,单独一个没有任何作用。
02
为什么要用?(解决传统密码登录的痛点)
远程连接服务器(或 GitHub/GitLab 等平台)时,传统 “账号 + 密码” 登录有两个致命问题:
效率低
每次连接都要输入密码,自动化脚本(如 Git 拉取代码)无法用;
安全性差
密码容易被暴力破解(黑客用工具试密码),或在输入时被窃取。
而 SSH 密钥登录能完美解决这两个问题 ——无需传密码,还更安全。
03
核心原理:“门锁” 与 “唯一钥匙” 的逻辑
记住一个比喻:公钥是 “门锁”,私钥是 “打开这把锁的唯一钥匙”,原理分 3 步:
你先把 “门锁”(公钥)放到目标服务器 / 平台上(比如 GitHub 的 “SSH 密钥” 设置里);
当你尝试连接时,服务器会给你发一段 “随机数据”(相当于 “请用钥匙签字证明身份”);
你的电脑用 “钥匙”(私钥)对这段数据 “签名”,再发回服务器;服务器用之前存的 “门锁”(公钥)验证签名 —— 如果对得上,说明你有 “合法钥匙”,直接登录;对不上则拒绝。
最关键的安全点:私钥永远只存在你自己的电脑里,不会通过网络传给任何平台 / 服务器 —— 哪怕服务器被黑客入侵,只要私钥没丢,对方也没法冒充你登录。
第 2 分钟:快速获取 SSH 密钥
(基于 Git 环境,Windows/macOS 通用)
Git 安装后会自带ssh-keygen
工具(不用额外装其他软件),分 “首次生成” 和 “已有密钥找公钥” 两种场景:
01
场景 1:从未生成过 SSH 密钥(新手必看)
用 ED25519(推荐):
ssh-keygen -t ed25519 -C "你的邮箱@example.com"
用 RSA(兼容性优先):
ssh-keygen -t rsa -b 4096 -C "你的邮箱@example.com"
(加-b 4096
是增强 RSA 安全性);
打开 Git Bash(Windows 右键选 “Git Bash Here”,macOS 打开 “终端” 后直接操作);
输入生成命令(推荐用更安全的 ED25519 算法,若老环境不支持再换 RSA):
按 3 次回车即可(无需输入密码,若想给私钥加 “密码保护”,可在提示时输入,后续用密钥需额外输这个密码);
生成后,密钥会自动存在系统默认目录(Windows:C:\Users\你的用户名\.ssh
;macOS:/Users/你的用户名/.ssh
)。
02
场景 2:已经生成过密钥,只想找公钥
打开 Git Bash / 终端,先进入密钥存放目录:
输入cd ~/.ssh
(~
代表 “当前用户的主目录”,Windows/macOS 通用,不用手动输路径);查看目录里的文件:输入
ls
,会看到两个核心文件:id_ed25519
或
id_rsa
:这是你的私钥(绝对不能发给别人,也不能删);id_ed25519.pub
或
id_rsa.pub
:这是你的公钥(要复制的就是这个文件里的内容);
查看并复制公钥:
输入cat id_ed25519.pub
(若用 RSA 则输cat id_rsa.pub
),终端会输出一长串以ssh-ed25519
或ssh-rsa
开头、以你邮箱结尾的字符 —— 全选复制,就是你的 SSH 公钥;(可选)找密钥文件路径:输入
pwd
,终端会显示.ssh
文件夹的完整路径,直接去文件夹里用记事本打开*.pub
文件也能复制公钥。
最后 3 句话总结(记牢不踩坑)
公钥 =“可分享的门锁”,私钥 =“绝不能丢的唯一钥匙”;
私钥一旦泄露,别人能冒充你登录所有用这对密钥的平台 / 服务器 —— 丢了要立刻删除所有平台上的对应公钥;
不同场景(如工作 / 个人)可生成多对密钥,用
-f
命令指定名字(如ssh-keygen -t ed25519 -f ~/.ssh/work_key -C "work@example.com"
),避免混淆。