没有不值得去解决的问题,也没有不值得去学习的技术!

告别密码与断连:阿里云 ECS SSH 免密登录与心跳保活实践

从截图中可以看到,我连续执行了 mv、chmod、nano,最后 ssh aliyun 一气呵成,直接显示欢迎信息和上次登录时间,没有任何密码询问。

从 Windows 到 Ubuntu:迁移与配置完全指南

在启动项列表中找到刚创建的 Ubuntu Installer,通过右侧的 “上移” 按钮将其移到第一位。这样重启后电脑会优先从这个启动项引导。

(1) 从 Windows 10 迁移至 Ubuntu – 上篇:安装前的准备工作

如图24 – 选择 Ubuntu 外观,高亮默认

(2) 从 Windows 10 迁移至 Ubuntu – 下篇:Ubuntu 26.04 安装与首次配置

安装完成后,打开 Fcitx5 配置工具(fcitx5-configtool),在“输入法”选项卡中添加 “五笔拼音” 即可正常使用。

(3) Ubuntu 初始化配置(基本设置、软件安装)

图10 – 新分区信息(UUID、卷标、文件系统)

(4) Ubuntu 磁盘规划:将 /home 迁移到第二块 SSD

如图10:点击 安装 按钮,进度条显示“正在准备…”。

(5) Ubuntu 26.04 软件安装与维护最佳实践:以微信为例

图中查找范围为 /home/wangqiang,名称列表里仅有「下载」和「xwechat_files」两个文件夹

(6) 解决 Linux 微信「另存为」对话框只显示两个文件夹的问题

图1 重启后右上角没有输入法图标

(7) Ubuntu 26.04 输入法折腾记:从 Fcitx5 自启失败到五笔拼音稳定使用

下图为实拍照片(图3): (此处为双屏实物照片,展示左外接、右笔记本的布局,两台显示器并排亮起)

(8) Ubuntu 双屏幕配置实战:ThinkPad T570 外接显示器,左屏右本更顺手

中文部分显示为梦源宋体,清晰舒适

(9) 从思源到梦源:在 Ubuntu 26.04 上把宋体“折腾”明白

至此,三个数据库容器均已正常运行。

(10) 配置开发环境:使用 Docker 管理多版本 MySQL 与 Redis

SOLO 模式欢迎界面,我切换到了 IDE

(11) 从百度API推送到AI IDE选型:我如何搞定Trae安装并准备开工

如图15:授权完成后,Gmail 账号成功添加。最终,Thunderbird 账户列表里一共添加了 8 个邮箱。

(12) Ubuntu 26.04 邮件客户端折腾记:从网易邮箱大师到 Thunderbird,一口气添加 8 个邮箱

图1:优化前60标签整机内存占用截图(原始满载19GB+)

(13) Ubuntu 26.04 下 Chrome 高内存占用优化全记录|同60标签,Win10≈7GB,Ubuntu暴涨至20GB排坑实录

📸 浏览器显示 JSON 数据,如图4

(14) Ubuntu 26.04 + Docker 搭建 Go Gin 开发环境(全记录)

在保存对话框中找到 显示选项 - 编码 ,将其从“自动检测”改为 UTF-8。

(15) Ubuntu 打开 Windows 文档提示“无效字符”?我的解决方法

从截图中可以看到,我连续执行了 mv、chmod、nano,最后 ssh aliyun 一气呵成,直接显示欢迎信息和上次登录时间,没有任何密码询问。

(16) 告别密码与断连:阿里云 ECS SSH 免密登录与心跳保活实践

[截图 5:扩展显示“用户已全局禁用此扩展”及右键菜单]

(17) 在 Trae CN 中尝试 Dev Containers:一次不太成功的踩坑记录

Docker 扩展面板的容器操作菜单

(18) 从零到一:在 Trae CN + Docker 中搭建 Go + Gin 开发环境

Flameshot 的功能

(19) 告别微信窗口限制:在 Ubuntu 26.04 使用 Flameshot 绑定全局 Alt+A 截图

微信的内存占用高达 2.01 GB(1.5%);而在只开启一个标签页的情况下,Google Chrome 的内存占用更是达到了 2.96 GB(1.0%)。

(20) Ubuntu 26.04 软件安装与维护最佳实践更新:从 Chrome 内存暴涨排坑到弃用 Flatpak 重度应用

deb 版 Firefox 更实用:能直接访问 Chrome 配置文件,资源占用更小。现在开启 4 个窗口,50 个标签页,内存占用 5 GB 左右

(21) Ubuntu 26.04 下从 Chrome 迁移到 Firefox:我的折腾经历

如图4:将中州韵加入输入法列表

(22) 从 Windows 到 Ubuntu:Rime → wbpy 的输入法选型失败记录

about:config

(23) Ubuntu 26.04 桌面性能优化实战:从卡顿到稳定运行的完整调优记录

每次 ssh root@xxx 都要输密码?连上服务器后十分钟没操作就卡死?本文分享一套完整的解决方案,让你在 Ubuntu 终端中一键免密登录阿里云 ECS,同时保持连接永不冻结。

背景:两个烦人的问题

作为一名经常在 Ubuntu 终端中连接阿里云 ECS 的开发者,我每天都要执行:

ssh root@121.40.248.29

然后输入一长串密码。

然后输入一长串密码。

更崩溃的是,有时候去倒杯水、看个文档,回来发现终端已经“死”了——按 Ctrl+C 没反应,按 Enter 也没反应,只能无奈地关闭窗口,还提示“某些进程仍在运行”。

更崩溃的是,有时候去倒杯水、看个文档,回来发现终端已经“死”了——按 Ctrl+C 没反应,按 Enter 也没反应,只能无奈地关闭窗口,还提示“某些进程仍在运行”。

在阿里云杭州 ECS(Alibaba Cloud Linux 3)上,我通过摸索找到了两个简单有效的解决方案:

  1. SSH 密钥免密登录 – 告别输密码
  2. 配置心跳保活 – 告别连接卡死

下面是完整的实践过程,配有控制台和终端的真实截图。


第一步:在阿里云控制台创建密钥对

登录 阿里云 ECS 控制台,在左侧导航栏找到 “网络与安全” > “密钥对”

图3:密钥对管理入口

点击 “创建密钥对”,弹出表单:

  • 密钥对名称:输入一个易记的名字,例如 Ubuntu-26.04
  • 创建类型:选择 “自动创建密钥对”(推荐,系统会生成公钥并自动托管,私钥由你下载保管)
  • 资源组:可选,一般不需要选择,直接跳过即可
图4:填写密钥对信息

点击 确定 后,浏览器会自动下载一个 .pem 文件(私钥)。这是唯一一次下载机会,请妥善保存。我的文件名是 Ubuntu-26.04.pem

第二步:绑定密钥对到 ECS 实例

在密钥对列表中找到刚刚创建的 Ubuntu-26.04,点击 “绑定密钥对”

图5:选择要绑定的实例

勾选你的目标 ECS 实例(IP 为 121.40.248.29 的那台),点击确定。系统会提示 “需要重启实例才能生效”。在业务低峰期,确认重启实例。

💡 重启可以在控制台操作,也可以登录实例执行 reboot。重启后密钥对绑定才真正生效。

第三步:本地配置私钥与 SSH 客户端

回到你的 Ubuntu 本地终端(我是 ThinkPad T570 + Ubuntu 26.04)。

1. 移动私钥文件并设置权限

我的 Ubuntu-26.04.pem 下载到了 ~/下载/ 目录(中文路径)。先创建 .ssh 目录,然后移动并改名:

mkdir -p ~/.ssh
mv ~/下载/Ubuntu-26.04.pem ~/.ssh/aliyun.pem
chmod 600 ~/.ssh/aliyun.pem   # 必须!否则 SSH 会报权限过宽的错误

⚠️ 如果下载到了 ~/Downloads/,请相应调整路径。

2. 配置 SSH 客户端(简化登录命令)

编辑(或创建)~/.ssh/config 文件:

nano ~/.ssh/config

加入以下内容:

Host aliyun
    HostName 121.40.248.29
    User root
    IdentityFile ~/.ssh/aliyun.pem
    ServerAliveInterval 60      # 心跳保活,每60秒发一个空包

保存退出(Ctrl+X,然后 Y,再 Enter)。

  • Host aliyun 是自定义别名,以后只需 ssh aliyun 即可。
  • ServerAliveInterval 60 是解决“10分钟后无反应”的关键。

3. 测试免密登录

ssh aliyun

从截图中可以看到,我连续执行了 mvchmodnano,最后 ssh aliyun 一气呵成,直接显示欢迎信息和上次登录时间,没有任何密码询问。

从截图中可以看到,我连续执行了 mv、chmod、nano,最后 ssh aliyun 一气呵成,直接显示欢迎信息和上次登录时间,没有任何密码询问。

第四步:解决连接卡死的原理

之前出现的“10分钟后无反应”,是因为网络中间设备(如防火墙、NAT)认为空闲连接没有数据传输,就把它断开了。ServerAliveInterval 60 的作用是让本地 SSH 客户端每隔 60 秒自动向服务器发送一个空的“心跳”包,维持连接的活跃状态。即使你发呆一小时,连接也不会中断。

安全建议:限制安全组来源 IP

为了进一步提升安全性,建议在阿里云控制台配置安全组,只允许你的本地公网 IP 访问 22 端口:

  1. 在本地执行 curl ifconfig.me 获取当前公网 IP。
  2. 进入 ECS 实例详情 → 安全组 → 配置规则 → 入方向。
  3. 找到 SSH(22)那条规则,将授权对象从 0.0.0.0/0 改为 你的IP地址/32

这样即使私钥不慎泄露,别人也无法从别的 IP 登录你的服务器。

总结

通过以上几步,我彻底告别了:

  • ❌ 每次输入密码
  • ❌ 连接十分钟后无故卡死

现在只需要在终端敲 ssh aliyun 就能秒级登录,干其他事情回来,终端依然流畅响应。而且整个过程没有使用任何第三方软件(如 PuTTY),纯原生 SSH 配置,在 Ubuntu 终端下完美运行。

如果你也受困于同样的烦恼,不妨按本文操作一遍,相信十分钟内就能搞定。

最后的提醒:请妥善保管下载的 .pem 私钥文件,不要上传到公共代码仓库。如果需要多台电脑免密登录,可以重复使用同一个密钥对(将私钥复制到其他电脑的 ~/.ssh/ 目录并设置权限即可)。


实践环境:Ubuntu 26.04 (本地) + Alibaba Cloud Linux 3 (ECS,杭州节点)
如有问题欢迎留言交流。

Ubuntu 打开 Windows 文档提示“无效字符”?我的解决方法 在 Trae CN 中尝试 Dev Containers:一次不太成功的踩坑记录

Linux 服务器运维、部署与线上故障排查

如果你的网站或后端服务部署在 Linux 服务器上,遇到访问异常、Nginx 配置问题、MySQL / Redis 异常、Docker 服务不可用、磁盘占满、CPU / 内存过高等问题,可以联系我做一次远程排查。

适合以下场景:
✅ 网站打不开或访问不稳定
✅ Nginx / PHP-FPM 配置异常
✅ MySQL / Redis 性能或连接问题
✅ Docker 服务部署与维护
✅ 服务器迁移与环境配置
✅ CPU / 内存 / 磁盘异常排查

服务内容:
✅ Linux 环境检查
✅ 网站部署与迁移
✅ Nginx / PHP-FPM / MySQL / Redis 排查
✅ Docker 配置与维护
✅ 服务器性能分析
✅ 长期远程运维支持

如需咨询,请联系我,并注明:Linux 运维咨询

联系方式:
Telegram:@shuijingwan
微信:13980074657
邮箱:shuijingwanwq@gmail.com

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理