最近在折腾甲骨文云的免费机,虽然性价比挺高,但它的默认安全策略有时候真的很让人头大。特别是那个默认的密码过期机制,好多时候一阵子没登,再去连接 SSH 的时候直接被拒,提示密码过期需要重置。这对于我们手里机器比较多、或者跑了一些自动化脚本的朋友来说,简直就是个灾难。今天就专门来聊聊怎么把这个“烦人”的限制给关掉,让密码设置一次就永久生效。

甲骨文云服务器SSH连接提示密码过期的界面截图

SSH连接时因密码过期被拒绝登录的提示

为什么会出现这个问题?

其实这并不是甲骨文故意恶心人,而是很多 Linux 发行版(尤其是 Oracle Linux)在默认安装时会启用 PAM(Pluggable Authentication Modules)模块的密码过期策略。这是出于企业级安全的考虑,强制用户定期更换密码以减少泄露风险。但对于个人开发者或者 VPS 玩家来说,这反而增加了维护成本。只要你自己保管好私钥和密码,这个策略其实显得有点多余。

解决方案一:修改登录用户配置(最推荐)

这是最直接、最稳妥的办法。我们只需要修改当前用户的密码过期属性即可。操作非常简单,只需要一条命令。登录到你的 SSH 终端,输入以下命令:

chage -M 99999 你的用户名

参数解析:

  • chage:用于修改用户密码过期信息的命令。
  • -M 99999:设置密码的最大有效天数为 99999 天(这基本上就是“永不过期”的代名词,因为那时候我们都不知道在哪个元宇宙了)。
  • 你的用户名:如果你是用 root 登录的,就写 root;如果是普通用户(比如 ubuntu),就替换成对应的用户名。

使用vi编辑器修改/etc/login.defs文件的代码截图

修改全局配置文件设置密码最大天数

执行完这条命令后,你还可以用 chage -l 你的用户名 查一下详细信息,确保“Maximum password age”那一项已经变成了 99999。搞定这一步,系统就不会再因为时间到了逼着你改密码了。

解决方案二:修改全局配置文件(进阶)

如果你机器上有很多用户,不希望一个个去设置,那可以直接修改系统的全局配置文件。这个方法要稍微谨慎一点,因为它影响的是所有用户。

  1. 编辑 /etc/login.defs 文件:
    vi /etc/login.defs
    
  2. 找到 PASS_MAX_DAYS 这一行。默认可能是一个比较小的数字(比如 90 或 180)。
  3. 把它改成 99999
  4. 保存并退出。

注意: 这个修改主要影响的是新创建的用户。对于已经存在的用户,如果他们之前的过期时间已经设定了,最好还是配合上面的“解决方案一”执行一次,确保万无一失。

解决方案三:检查 PAM 模块(特殊情况)

有些时候,即使你改了上面的配置,系统还是在弹框提示你改密码,那可能是 /etc/pam.d/system-auth(或者是 /etc/pam.d/common-password,取决于你的发行版)文件里强制开启了 pam_unix.so 的 remember 或过期参数。

如果你非要动这里,建议先备份文件:

cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak

然后编辑文件,找到包含 pam_unix.so 的行,查看是否有类似 pam_unix.so nullok_secure 或者带有过期限制的参数。通常情况下,只要前面两步做对了,这里是不需要动的。除非你是在某些高度定制的环境中,否则不建议新手轻易修改 PAM 配置,一旦配错了,可能连系统都登不上去,得去 VNC 救援。

额外建议:免密登录才是王道

其实作为 VPS 玩家,为了安全和管理便捷,最推荐的方式还是直接配置 SSH 密钥登录,然后彻底禁用密码登录。

步骤很简单:

  1. 在本地生成 SSH Key(如果你还没有):ssh-keygen -t rsa -b 4096
  2. 把公钥上传到服务器:ssh-copy-id 用户名@服务器IP
  3. 编辑服务器的 /etc/ssh/sshd_config,把 PasswordAuthentication 改成 no
  4. 重启 SSH 服务:systemctl restart sshd

这样,就算你想改密码也没地方输入,只有持有私钥的人才能登录,安全性比单纯的“密码永不过期”高得多,也不用担心被暴力破解。

总结

甲骨文的机器虽然免费(或者便宜),但默认配置偏向企业保守风。通过 chage 命令设置密码最大天数为 99999,是解决“密码已过期”导致无法登录问题的最快途径。如果你懒得记这些命令,把 SSH 密钥登录配好才是长久之计,毕竟谁也不想半夜爬起来改密码。希望这篇教程能帮大家省点折腾的时间,把精力花在更有价值的事情上。

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭