告别密码焦虑,云主机 SSH 密钥登录全指南:安全与高效的双重升级
摘要:# 告别密码焦虑,云主机 SSH 密钥登录全指南:安全与高效的双重升级 当你第 N 次在云主机登录界面输入密码,却因“密码错误”反复重试时;当你听说某公司因弱密码被黑客入侵,数据一夜清空时——是时候抛弃传统密码登录,拥抱更安全、更便捷的 SSH 密钥登录…
当你第 N 次在云主机登录界面输入密码,却因“密码错误”反复重试时;当你听说某公司因弱密码被黑客入侵,数据一夜清空时——是时候抛弃传统密码登录,拥抱更安全、更便捷的 SSH 密钥登录了。作为云服务的“标配安全技能”,SSH 密钥不仅能帮你摆脱密码记忆的烦恼,更能筑起一道黑客难以突破的安全防线。今天,我们就从原理到实操,手把手教你搞定云主机 SSH 密钥登录。
一、为什么要放弃密码,选择 SSH 密钥?
在聊操作前,先搞懂“为什么”——这决定了你会不会真正重视并坚持使用密钥。

传统密码登录的痛点显而易见:
而 SSH 密钥登录的核心是“非对称加密”:它由一对“密钥对”组成——

- 私钥(Private Key):像你家的钥匙,必须妥善保存在自己的设备(电脑、手机)上,绝对不能泄露;
- 公钥(Public Key):像你家的门锁,可放心上传到云主机上。
登录时,云主机会用公钥“锁”住一个验证信息,只有持有对应私钥的设备才能“解锁”——整个过程无需输入密码,且黑客就算拿到公钥,没有私钥也无法登录,安全性直接拉满。
二、第一步:生成属于你的 SSH 密钥对
无论你用 Windows、Mac 还是 Linux,生成密钥的逻辑都一样——用 SSH 自带的 ssh-keygen 工具。
1. Windows 系统(以 Windows 10/11 为例)
Windows 10 及以上已自带 OpenSSH 客户端,无需额外安装:
- 按下
Win + R,输入cmd打开命令提示符; - 输入命令:
ssh-keygen -t ed25519 -C "你的邮箱或备注"(
ed25519是目前最安全的密钥算法,比传统的RSA更短、更高效;-C后面的备注方便你区分不同密钥) - 接下来会提示“保存密钥的路径”,直接按回车用默认路径(通常是
C:\Users\你的用户名\.ssh\id_ed25519); - 然后会要求设置“密钥密码(passphrase)”——强烈建议设置!这相当于给私钥再加一把锁,就算私钥被盗,没有密码也无法使用。设置后按回车确认。
完成后,你的 .ssh 文件夹里会出现两个文件:
id_ed25519:私钥(重要!别删、别给别人);id_ed25519.pub:公钥(可以放心分享)。
2. Mac/Linux 系统
操作更简单,直接打开终端:
- 输入同样的命令:
ssh-keygen -t ed25519 -C "你的邮箱或备注" - 按回车确认保存路径(默认是
~/.ssh/id_ed25519); - 设置密钥密码(建议设置),完成后同样得到私钥和公钥文件。
三、第二步:把公钥上传到云主机
生成密钥对后,需要把公钥“告诉”云主机——这样云主机才知道“哪些设备有权登录”。不同云厂商的操作略有差异,但核心逻辑都是“把公钥内容添加到云主机的 ~/.ssh/authorized_keys 文件中”。
1. 主流云厂商控制台操作(以阿里云、腾讯云为例)
阿里云:
- 登录阿里云控制台,进入“云服务器 ECS”;
- 找到你要配置的实例,点击“更多”→“密码/密钥”→“绑定密钥对”;
- 如果还没有密钥对,点击“创建密钥对”,把你本地生成的
id_ed25519.pub内容复制进去,命名后创建; - 绑定成功后,重启云主机(密钥生效需要重启)。
腾讯云:
- 登录腾讯云控制台,进入“云服务器 CVM”;
- 找到实例,点击“密钥”→“绑定密钥”;
- 若没有密钥,点击“新建密钥对”,选择“导入已有公钥”,粘贴
id_ed25519.pub内容,创建后绑定; - 重启实例生效。
2. 手动上传公钥(通用方法,适用于所有 Linux 云主机)
如果云厂商没有密钥对功能,或你想手动配置,可以用 ssh-copy-id 工具:
- 在本地终端(或 cmd)输入:
ssh-copy-id -i ~/.ssh/id_ed25519.pub 用户名@云主机IP(比如你的云主机用户名是
root,IP 是123.45.67.89,就输入ssh-copy-id -i ~/.ssh/id_ed25519.pub root@123.45.67.89) - 此时会要求输入云主机的密码(这是最后一次输密码了!);
- 输入密码后,公钥就会自动添加到云主机的
~/.ssh/authorized_keys文件中。
四、第三步:用密钥登录云主机
配置完成后,终于可以体验“无密码登录”的爽感了!
1. Windows 系统
方法一:用命令提示符/终端
打开 cmd,输入:
ssh 用户名@云主机IP
如果设置了密钥密码,会提示输入“passphrase”,输入后就能直接登录。
方法二:用 PuTTY(经典 SSH 工具)
如果习惯用 PuTTY,需要先把私钥转换成 PuTTY 支持的 .ppk 格式:
- 打开 PuTTYgen(PuTTY 自带的工具);
- 点击“Load”,选择本地的
id_ed25519私钥(注意选“所有文件”才能看到); - 输入密钥密码(如果设置了),点击“Save private key”,保存为
.ppk文件; - 打开 PuTTY,在“Host Name”输入云主机 IP,在“Connection→SSH→Auth”中,点击“Browse”选择刚才保存的
.ppk文件; - 点击“Open”,输入用户名和密钥密码(如果有),即可登录。
2. Mac/Linux 系统
直接在终端输入:
ssh 用户名@云主机IP
输入密钥密码(如果设置),瞬间登录——是不是比输密码快多了?
五、第四步:加固安全(必做!)
密钥登录已经很安全,但为了万无一失,建议再做这两步加固:
1. 禁用密码登录
既然用了密钥,就把密码登录彻底关掉,断绝黑客暴力破解的可能:
- 登录云主机,编辑 SSH 配置文件:
vi /etc/ssh/sshd_config - 找到以下配置项,修改为:
PasswordAuthentication no # 禁用密码登录 PubkeyAuthentication yes # 启用密钥登录 PermitRootLogin no # 禁用 root 直接登录(建议创建普通用户登录,再 sudo 提权) - 保存退出后,重启 SSH 服务:
# CentOS/RHEL 系统 systemctl restart sshd # Ubuntu/Debian 系统 systemctl restart ssh
注意:修改前一定要确保密钥登录能正常使用,否则可能会被锁在主机外!
2. 保护好你的私钥
私钥是登录的“命脉”,必须妥善保管:
- 不要把私钥上传到公共网络(如网盘、微信);
- 给私钥设置强密码(passphrase);
- Windows 系统可以把私钥放在
C:\Users\你的用户名\.ssh,Linux/Mac 放在~/.ssh,并设置权限(chmod 600 ~/.ssh/id_ed25519,确保只有自己能读写)。
六、常见问题解决
1. 登录时提示“Permission denied (publickey)”
- 检查本地私钥是否正确(有没有选错文件);
- 检查云主机的
~/.ssh/authorized_keys是否有你的公钥; - 检查
authorized_keys的权限:必须是600(chmod 600 ~/.ssh/authorized_keys),~/.ssh文件夹权限必须是700(chmod 700 ~/.ssh)——权限太开放会被 SSH 拒绝。
2. 忘记密钥密码怎么办?
如果设置了密钥密码却忘记了,只能重新生成密钥对,再把新的公钥上传到云主机(旧密钥会失效)。
写在最后
SSH 密钥登录不是“高大上的技术”,而是每个云主机用户都该掌握的基础安全操作。它不仅能让你摆脱密码的束缚,更能从根源上降低被黑客攻击的风险。从今天开始,把云主机的登录方式换成密钥——让安全和效率,都“在线”。






