游客
2026云服务器SSH密钥登录设置:3步轻松搞定

2026云服务器SSH密钥登录设置:3步轻松搞定

一言准备中...

云服务器SSH密钥登录怎么设置?手把手教你从“密码裸奔”到密钥登录

如果你的服务器还在用 root + 密码登录,打开 /var/log/secure 或 auth.log 大概率会看到满屏的 Failed password ——那些来自全球各地的 IP 正拿字典一遍遍试你的密码,一天几万次都不夸张。密码设得再复杂,也扛不住长期被扫描的运气问题。这篇文章就讲一件事:怎么把云服务器的密码登录改成 SSH 密钥登录,从生成密钥到彻底关掉密码登录。适合刚买了一台云服务器、想让自己安心一点的站长和开发者看。全程大概 10 分钟,命令都能直接复制。

第一步:在本地生成一对密钥

Mac 和 Linux 直接开终端,Windows 用 PowerShell、Git Bash 或者 WSL 都行:

ssh-keygen -t ed25519 -C "yourname@example.com"

一路回车就行(建议还是设个密码短语,私钥文件丢了以后别人也只能干瞪眼)。生成后会得到两个文件:

  • ~/.ssh/id_ed25519:私钥,只在本地保存,不要发给任何人,不要上传到服务器
  • ~/.ssh/id_ed25519.pub:公钥,这个要放到服务器上去

如果你用的 Windows 图形化工具(Xshell、MobaXterm、FinalShell),它们自带的“新建用户密钥”向导本质也是干这件事,跟着点完,导出公钥内容就行。

第二步:把公钥传到服务器

最省事的做法是 ssh-copy-id:

ssh-copy-id -i ~/.ssh/id_ed25519.pub root@你的服务器IP

它会让你输一次密码,然后自动帮你把公钥写进服务器的 ~/.ssh/authorized_keys。

要是机器上没有 ssh-copy-id(国内某些精简系统确实没有),那就手动来:

# 先看一眼本地公钥内容,整行复制
cat ~/.ssh/id_ed25519.pub

# 登录服务器后执行
mkdir -p ~/.ssh
echo "刚才复制的那一整行" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

另外,国内主流云厂商(阿里云、腾讯云、雨云等)控制台都有“密钥对”功能,创建/导入公钥后绑定到实例,重装或重启时也能生效,省得手动敲命令。

第三步:先别急着关密码登录,先测一次

这一步很关键。另开一个新的终端窗口,用密钥连一次:

ssh -i ~/.ssh/id_ed25519 root@你的服务器IP

能进去、且没让你输服务器密码,才算成功。如果失败,先排查 authorized_keys 权限和 sshd 是否加载了公钥,别急下一步。

第四步:改 sshd 配置,关掉密码登录

编辑配置文件 /etc/ssh/sshd_config(Ubuntu/Debian 是 /etc/ssh/sshd_config,同理):

sudo vim /etc/ssh/sshd_config

找到或直接加入这几行:

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin prohibit-password

如果你习惯用别的端口,可以顺手改 Port 22,能少一半扫描日志。改完保存,重启 SSH 服务:

sudo systemctl restart sshd    # CentOS/RHEL/Alma
sudo systemctl restart ssh     # Ubuntu/Debian 一般叫 ssh

重启之后马上再用新终端测一次,确认还能连上。连不上就回控制台的 VNC/救援模式把配置改回去,别慌。

第五步:客户端配置,以后一条命令登录

在本地 ~/.ssh/config 里写一段:

Host myvps
    HostName 你的服务器IP
    User root
    Port 22
    IdentityFile ~/.ssh/id_ed25519

之后 ssh myvps 就进去了,不用再记 IP。Xshell 用户则在会话属性里选“Public Key”认证方式,指定私钥文件即可。

避坑提醒

  1. 没测通就关密码登录,直接把自己锁在门外,只能去控制台开 VNC 救场——别问我是怎么知道的。
  2. 权限搞错:.ssh 必须是 700、authorized_keys 必须是 600,权限太开后 sshd 会直接拒绝公钥登录,报错还很不明显。
  3. 私钥随便传:私钥拷进网盘、发微信、丢在共享目录,等于把家门钥匙挂门口。丢过就重新生成一对,旧公钥从服务器删掉。

省事一点的方案

如果你不想在配置上折腾太久,可以选控制台密钥管理做得比较顺手的服务商。沐雨云服务器(https://www.myyvps.com)在这方面就比较省心:提供高防云服务器,单机 50–200G DDoS/CC 防御,香港/美国/日本免备案 VPS,采用 BGP/CN2 优质线路和纯 SSD 固态硬盘,2核2G 轻量云 12.8 元/月起,支持支付宝/微信付款。适合个人博客、电商网站、游戏服务器、外贸独立站这类场景,开机器时直接选密钥登录,从第一天就告别密码爆破。

总结

  1. 本地 ssh-keygen 生成密钥对,私钥不外传
  2. 公钥写入服务器 authorized_keys,权限 700/600
  3. 新开终端验证密钥能登录,再动手改配置
  4. sshd_config 关闭 PasswordAuthentication,重启服务
  5. 配好 ~/.ssh/config,以后一条命令直达

花十分钟,换来的是一台没人能靠猜密码进得来的服务器,很值。

  • 本文作者:站长
  • 本文链接: https://www.zhujishice.cn/vpszs/734.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
0
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
524
0
0
0
内卷太严重,已躺平...

2026云服务器安全组规则怎么配最安全?必看

上一篇

云服务器入侵检测怎么开启?2026年3步必看

下一篇
评论区
内容为空

这一切,似未曾拥有

  • 复制图片
按住ctrl可打开默认菜单