很多人第一次开通阿里云ECS时,会随手设一个好记的登录密码,过一段时间却怎么也想不起来。阿里云服务器密码既决定能不能进入系统,也直接关系到服务器会不会被别人闯入。下面先说怎样恢复访问,再说怎样加固,最后讲怎样避免下一次再忘。

先分清三种密码
三种密码的用途不同,找错入口就重置不了,所以动手前先确认你忘的是哪一种。
- 阿里云账号登录密码:用于登录阿里云控制台,管理账号下的全部资源。忘记后需要通过账号安全验证找回,和服务器本身无关。
- RAM子账号密码:企业里由主账号分配给员工的登录密码,由管理员在RAM控制台重置。
- 实例登录密码:用于通过SSH(Linux)或远程桌面(Windows)登录某台ECS服务器。本文主要讨论这一种。
一次忘记密码的排查过程
下面是一个示例场景。某小型电商团队三年前开通了一台Linux服务器,用来部署店铺后台。新来的运维同事接手时,没有人记得root密码。他试了几组常用组合,全部失败。团队没有保存过密码记录,也没有配置SSH密钥。最后他在控制台重置了实例密码,重启服务器后恢复了访问。整个操作大约20分钟,但重启期间,店铺后台有大约十分钟无法访问。
这个场景有两点值得记下。重置实例密码通常需要重启,所以要选在业务低峰期做,并提前通知相关人员。另外,服务器凭据不能只靠记忆,哪怕是一份加密保存的备份,也能省下这二十分钟的慌乱。
在控制台重置实例密码
- 登录阿里云ECS控制台,切换到目标实例所在的地域。地域选错时,实例列表里是找不到服务器的,这是常见的疑惑来源。
- 在实例列表中找到目标服务器,通过操作列的更多菜单进入密码重置入口。菜单名称可能随控制台版本调整,以页面实际显示为准。
- 输入新密码并再次确认。新密码需要满足复杂度要求,提交前可以先在本地确认它符合规则,省得反复提交失败。
- 保存后按提示重启实例。新密码要在重启后才生效,重启前请确认没有未保存的重要数据。
- 用新密码通过SSH或远程桌面测试登录,确认成功后再关闭旧会话。如果新密码登录失败,旧会话还在,你仍有退路。
密码修改完成后,应立即把记录存进可靠的密码管理工具。不要写在聊天记录、便签或未加密的文档里,这些地方都容易被别人看到,也容易在换电脑时丢失。
密码强度怎么设置
阿里云对实例密码有基本要求,一般为8到30位,并且需要包含大写字母、小写字母、数字、特殊字符中的至少三类。满足这些规则只是底线,并不代表密码安全。实际使用时,可以按下面的做法来设置。
- 长度尽量不少于16位,优先使用密码管理工具随机生成的字符串,不要自己编一个“看起来复杂”的组合。
- 不要用生日、手机号、公司名,也不要用“Admin@123”这类在攻击字典里很常见的组合。
- 同一个密码不在多台服务器或其他网站上复用。一处泄露,多处失守。
- 定期更换密码。人员离职时,要同步更新所有可能知道该密码的人对应的凭据。
一次暴力破解带来的教训
另一个示例场景中,一位开发者的测试服务器用了简单密码,而且SSH端口对全网开放。两周后,系统日志里出现大量来自境外IP的登录失败记录,服务器CPU占用也一直偏高。排查后发现,有程序在不断尝试常见用户名和密码组合。其中一次尝试成功了,攻击者登录后植入了挖矿程序,资源被长期占用。
开发者随后做了三件事:把密码换成强密码,把安全组中22端口的来源限制为自己办公网络的IP,并开启云安全中心的基线检查。之后同类登录尝试明显减少。这件事说明,测试服务器同样需要防护,而且暴露在公网上的时间越长,被扫描到的概率越高。
比密码更可靠的登录方式
密码容易被猜中或泄露。对Linux服务器,更推荐使用SSH密钥对登录,并在系统中关闭密码登录。阿里云控制台支持创建密钥对并绑定到实例。私钥由使用者自己保管,不要上传到代码仓库或共享网盘,也不要通过聊天工具发给同事。
如果暂时还切换不了密钥登录,至少做好下面三件事:
- 安全组只放行必要的来源IP访问管理端口,不要图省事直接对全网开放。
- 禁止root用户直接远程登录,改用普通用户配合sudo执行管理操作。这样每次提权都有记录,出问题也好追溯。
- 安装并配置fail2ban等工具,让它对多次登录失败的来源IP自动封禁。配置完成后,可以故意输错几次密码,确认封禁是否生效。
忘记密码之前的准备
多数密码丢失的问题都能提前避免。建议在服务器开通当天就做三件事:记录实例的登录凭据并加密保存,为关键服务器配置SSH密钥,并在安全组里把访问范围收窄到最小。这样即使哪天密码忘了,也能在不影响业务的前提下尽快恢复访问,而不是临时手忙脚乱。