如何在 UBNT(Ubiquity Network)设备,更具体地说是 airOS8 WA v8.x 板上通过 ssh 连接(而不是通过浏览器界面)更改用户密码?
我想避免他们的网络界面对密码复杂性施加的荒谬限制(他们在密码中唯一不需要的是独角兽的血)。别人告诉我我的密码应该是什么样子(当然是为了我自己的福祉),我觉得不舒服,所以我想通过 ssh 连接来更改它,这里没有施加此限制。
我关注了他们论坛上的讨论,如果开发人员是否应该施加这样的限制(没有开关关闭),这只是对意见的无用自行车。
我找到了做到这一点的方法,并想与需要做同样事情的其他人分享。
首先,通过 ssh 连接登录到您的设备。然后,发出passwd
命令来更改您的密码。如果您现在只是重新启动设备,则不会保存新密码,请继续阅读。
接下来,您需要将新密码哈希复制到一个名为/var/tmp/system.cfg
. 所以,首先,输入cat /etc/passwd
,查看新的密码哈希,看起来应该是这样的:
ubnt:$1$ssssssss$hhhhhhhhhhhhhhhhhhhhhh:0:0:Administrator:/etc/persistent:/bin/sh
ssssssss
盐在哪里,hhhhhhhhhhhhhhhhhhhhhh
是新密码的哈希值。我们需要将所有内容复制到/var/tmp/system.cfg
文件中,因此键入:
vi /var/tmp/system.cfg
并在那里,找到以开头的行users.1.password=
并将其更改为这样(按“I”进行插入操作):
users.1.password=$1$ssssssss$hhhhhhhhhhhhhhhhhhhhhh
其中 Salt 和 Hash 将是随机生成的。完成更改该行后,按 Escape 键,然后保存/退出文件(按冒号、'w'、'q' 和 Enter 键,如 ':wq')
回到 shell 后,键入save
以永久保存此配置,然后键入reboot
以检查您的密码是否在重新启动过程中幸存下来。
应该是这样的。
谢谢,但更好的是使用默认密码的哈希ubnt
,得到它,只需运行grep users.1.password /var/etc/default.cfg