Appearance
易算直连密钥模块
1. 什么是 SSH 公私钥
SSH 密钥对是一种比密码更安全的远程登录认证方式。它由两部分组成:
| 组成部分 | 存放位置 | 说明 |
|---|---|---|
| 私钥 (Private Key) | 保存在你自己的电脑上 | 相当于"钥匙",必须妥善保管,绝对不能泄露给任何人 |
| 公钥 (Public Key) | 上传到平台/服务器 | 相当于"锁",放在你要登录的服务器上 |
工作原理:当你尝试连接服务器时,服务器用你的公钥加密一段随机信息,只有持有对应私钥的人才能解密。解密成功即证明身份,无需输入密码。
⚠️ 安全提示:平台只存储你的公钥,不会存储你的私钥。如果私钥丢失,你将无法使用该密钥登录,需要重新生成新的密钥对。
2. 方式一:平台生成密钥对
如果你不想在本地操作命令行,平台提供了一键生成密钥对的功能,操作步骤如下:
步骤 1:登录平台
登录易算平台,进入 控制台 → 易算终端 → 易算直连 → 添加公私钥
系统生成
在 SSH 密钥管理页面,点击 "生成并下载 .pem" 按钮,填写以下信息:
- 密钥别名:给密钥起一个好记的名字,就是
别名
步骤 3:下载私钥文件
生成成功后,系统会立即弹出下载一个 .pem 格式的私钥文件。请务必:
- 立即下载并保存到安全的位置(如
C:\Users\你的用户名\.ssh\或~/.ssh/) - 不要修改文件内容,保持原始格式
- 私钥下载机会只有一次,如果丢失需要重新生成,关闭窗口后将无法再次查看或下载
步骤 4:设置私钥文件权限
下载后,需要设置正确的文件权限(尤其是在 macOS / Linux 上):
Windows 系统:
- 将
.pem文件放到C:\Users\你的用户名\.ssh\目录下 - 右键点击文件 → 属性 → 安全 → 高级 → 禁用继承 → 仅保留当前用户的可读写权限
macOS / Linux 系统:
bash
# 将私钥移动到 .ssh 目录
mv ~/Downloads/我的开发服务器密钥.pem ~/.ssh/
# 设置权限(仅当前用户可读写)
chmod 600 ~/.ssh/我的开发服务器密钥.pem3. 方式二:本地生成密钥对
如果你习惯使用命令行,可以在本地电脑上生成密钥对,然后将公钥上传到平台。
3.1 Windows 系统
方法 A:使用 PowerShell / CMD(Windows 10/11 自带 OpenSSH)
打开 PowerShell 或 命令提示符(按
Win + R,输入powershell回车)执行以下命令生成密钥对:
powershellssh-keygen -t rsa -b 2048 -f C:\Users\你的用户名\.ssh\my_key-t rsa:使用 RSA 算法-b 2048:密钥长度 2048 位(推荐 2048 或 4096)-f C:\Users\你的用户名\.ssh\my_key:密钥文件保存路径,my_key可改为你喜欢的名字
系统会提示输入 passphrase(密码短语):
- 直接回车 = 不设置密码(方便但安全性稍低)
- 输入密码 = 每次使用私钥时需要输入(更安全)
生成成功后,会在
.ssh目录下产生两个文件:my_key→ 私钥(妥善保管,不要分享)my_key.pub→ 公钥(需要上传到平台)
方法 B:使用 Git Bash
打开 Git Bash(如果没有安装,请先下载 Git for Windows)
执行命令:
bashssh-keygen -t rsa -b 2048 -f ~/.ssh/my_key同样按提示操作即可。
3.2 macOS 系统
打开 终端(Terminal),在"启动台 → 其他 → 终端"中打开
执行以下命令生成密钥对:
bashssh-keygen -t rsa -b 2048 -f ~/.ssh/my_key按提示输入 passphrase(可选)
生成成功后,设置私钥权限:
bashchmod 600 ~/.ssh/my_key查看生成的公钥内容(用于后续上传):
bashcat ~/.ssh/my_key.pub
3.3 Linux 系统
打开终端
执行以下命令生成密钥对:
bashssh-keygen -t rsa -b 2048 -f ~/.ssh/my_key提示:也可以使用
-t ed25519生成更现代、更安全的 Ed25519 密钥:bashssh-keygen -t ed25519 -f ~/.ssh/my_key按提示输入 passphrase(可选)
设置私钥权限:
bashchmod 600 ~/.ssh/my_key查看公钥内容:
bashcat ~/.ssh/my_key.pub
4. 上传公钥到平台
无论是本地生成还是平台生成,你都可以将公钥上传到平台进行管理。
上传步骤
登录平台,进入 控制台 → 易算终端 → 易算直连 → 添加公私钥
点击 "本地上传" 按钮
填写以下信息:
- 密钥别名:给密钥起一个名字,就是 `别名``
- 公钥内容:将你的公钥文件内容完整粘贴进来
公钥内容通常长这样:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8...省略... rsa-key-20240101
查看公钥内容的方法
- Windows:用记事本打开
.pub文件,复制全部内容 - macOS / Linux:执行
cat ~/.ssh/my_key.pub,复制输出的内容
上传后
上传成功后,公钥会出现在你的密钥列表中。你可以:
- 修改别名:方便记忆
- 启用/停用:临时禁用某个密钥
- 删除:不再使用的密钥可以删除
5. 配置 SSH 客户端使用私钥
5.1 命令行直接指定私钥
bash
ssh -i ~/.ssh/my_key 用户名@服务器地址-i参数指定私钥文件路径- Windows 示例:
ssh -i C:\Users\你的用户名\.ssh\my_key -p 44322 user@ssh.yeesuan.com
5.2 配置 SSH Config 文件(推荐)
编辑 SSH 配置文件,实现免密快捷登录。
配置文件位置:
- Windows:
C:\Users\你的用户名\.ssh\config - macOS / Linux:
~/.ssh/config
配置示例:
Host myserver
HostName ssh.yeesuan.com
Port 44322
User your_username
IdentityFile ~/.ssh/my_key配置后,直接使用 ssh myserver 即可登录,无需每次都输入完整命令。
5.3 使用 VS Code Remote-SSH
- 安装 Remote - SSH 扩展
- 按
F1→ 输入Remote-SSH: Open SSH Configuration File - 添加配置:
Host myserver HostName ssh.yeesuan.com Port 44322 User your_username IdentityFile ~/.ssh/my_key - 按
F1→Remote-SSH: Connect to Host→ 选择myserver
5.4 使用 Xshell / SecureCRT 等工具
- Xshell:会话属性 → 连接 → 用户身份验证 → 方法选择 "Public Key" → 浏览选择私钥文件
- SecureCRT:会话选项 → SSH2 → 公钥 → 属性 → 选择私钥文件
- PuTTY:需要先将私钥转换为
.ppk格式(使用 PuTTYgen 工具)
6. 常见问题排查
Q1:SSH 连接时报 "Permissions 0644 for 'xxx.pem' are too open"
原因:私钥文件的权限太宽松,SSH 出于安全考虑拒绝使用。
解决:
bash
# macOS / Linux
chmod 600 ~/.ssh/your_key.pem
# Windows
# 右键文件 → 属性 → 安全 → 高级 → 禁用继承 →
# 删除所有其他用户的权限,仅保留当前用户Q2:提示 "Permission denied (publickey)"
原因:可能的原因有:
- 公钥没有正确上传到平台
- 私钥文件路径不正确
- 私钥与服务器上的公钥不匹配
排查步骤:
- 确认公钥已上传到平台且状态为"启用"
- 检查
ssh命令中-i参数指定的私钥路径是否正确 - 使用
ssh -v查看详细调试信息:ssh -v -i ~/.ssh/my_key -p 44322 user@host - 确认使用的是与上传公钥配对的私钥
Q3:Windows 上找不到 .ssh 文件夹
解决:
- 打开 PowerShell,执行
mkdir C:\Users\你的用户名\.ssh - 或者在文件资源管理器地址栏直接输入
%USERPROFILE%\.ssh回车
Q4:忘记了私钥的 passphrase
说明:passphrase 是无法找回的。如果忘记,只能重新生成新的密钥对,并将新公钥上传到平台。
Q5:如何将 PEM 格式私钥转换为 PPK 格式(用于 PuTTY)
- 下载并打开 PuTTYgen
- 点击 "Load" → 选择你的
.pem文件 - 点击 "Save private key" → 保存为
.ppk文件 - 在 PuTTY 中使用该
.ppk文件
Q6:推荐的密钥类型和长度
| 密钥类型 | 推荐长度 | 说明 |
|---|---|---|
| RSA | 2048 / 4096 | 兼容性最好,几乎所有系统都支持 |
| Ed25519 | 256(固定) | 更现代、更安全、速度更快,推荐新系统使用 |
| ECDSA | 256 / 384 / 521 | 介于 RSA 和 Ed25519 之间 |
当前平台默认使用 RSA 2048 位密钥,兼容性最佳。
附录:SSH 密钥文件格式说明
公钥格式(OpenSSH)
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8...(Base64编码)... 注释(可选)- 第一部分:密钥类型(
ssh-rsa、ssh-ed25519等) - 第二部分:Base64 编码的公钥数据
- 第三部分:可选注释(通常是生成者的用户名和主机名)
私钥格式(PEM)
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA...(Base64编码的私钥数据)...
-----END RSA PRIVATE KEY-----📞 如有其他问题,请联系系统管理员或技术支持团队。