每次都要输入密码真的很烦人!
查看本机ssh是否安装
ssh -V
本地生成密钥对
ssh-keygen
成 SSH 密钥对(公钥 + 私钥),用于无密码(或带密码短语)登录远程服务器、关联 GitHub/GitLab 等代码托管平台,实现安全认证
Generating public/private ed25519 key pair.
- 含义:SSH 正在为你生成一套 ed25519 类型的密钥对,包含「私钥(private key)」和「公钥(public key)」。
- ed25519 是一种现代、安全且高效的密钥算法,比传统的 rsa 更推荐使用,它生成的密钥文件更小,加密认证速度更快。
Enter file in which to save the key (C:\Users\xxx/.ssh/id_ed25519):
- 括号里的 C:\Users\xxx/.ssh/id_ed25519 是默认保存路径和文件名
- 直接按「回车」,就会使用这个默认路径,自动在 C:\Users\xxx 目录下创建 .ssh 隐藏文件夹(如果不存在的话),并将密钥对保存在该文件夹中。
- 如果想自定义保存路径 / 文件名(比如区分不同平台的密钥),可以输入具体路径,再按回车
Enter passphrase (empty for no passphrase):
- 询问你是否要为私钥设置一个「密码短语(口令)」
- 这个口令不是远程服务器的登录密码,而是保护本地私钥的密码。
- 如果直接按「回车」(留空),后续使用这个私钥认证时,不需要输入任何口令,直接即可登录 / 认证。
- 如果设置了口令,后续每次使用这个私钥时,都需要输入该口令才能解锁私钥进行认证,安全性更高(即使私钥文件被盗,没有口令也无法使用)。
Enter same passphrase again:
- 再次输入上一步设置的口令,进行确认验证,防止第一次输入时手滑输错。
- 如果上一步留空(没设置口令),这一步也直接按回车即可。
- 如果上一步输入了口令,这一步必须输入和上一步完全一致的内容,否则会提示口令不匹配,需要重新生成。
Your identification has been saved in C:\Users\xxx/.ssh/id_ed25519
-
「公钥」已经成功保存,后面是公钥文件的完整路径和文件名(后缀为 .pub)
-
公钥是可以公开分享的文件,没有安全风险。你需要将这个文件里的内容复制出来,配置到远程服务器(通常放在服务器的 ~/.ssh/authorized_keys 文件中)或代码托管平台(如 GitHub 的 SSH 密钥配置页面),才能实现后续的安全认证。
The key fingerprint is:
SHA256:xxxx yyy@yyy-LAPTOP -
密钥指纹是通过公钥计算出来的一串简短哈希值(这里是 SHA256 算法生成的),用于快速验证公钥的完整性和正确性,避免被篡改
-
前面 SHA256:xxxx 是核心指纹串,用于验证公钥有效性。
-
后面 yyy@yyy-LAPTOP 是你的本地用户名 + 电脑主机名,方便你区分不同设备生成的密钥。
上传公钥至服务器
私钥存放在本地即可,公钥需要上传到服务器的指定路径下(路径为~/.ssh)。
进入用户名目录下的.ssh目录(没有就创建)
cat id_ed25519.pub >> authorized_keys
VScode加入本机密钥地址
在VSCode中打开ssh的配置文件,在末尾追加私钥的本地路径地址
IdentityFile ~/.ssh/id_ed25519