我想通过使用加密的 passwd 来更改我的 centos 密码。
echo "密码1" | passwd --stdin 用户名
但如果我使用上述方法,用户将看到我的密码。有人知道如何加密“密码 1”吗?
答案1
目前,我认为最好的选择是将散列密码传递给客户端,而不是纯文本密码。
本地,使用以下方法对密码进行哈希处理
hashpass=openssl passwd -1 -salt sssss ppppppppppp
然后告诉偏僻的客户
usermod -p $hashpass username
其中sssss
是随机盐,ppppppppppp
是所需密码, 是username
要重置密码的用户。确保 的正确通过$hashpass
也是您需要注意的事情。
如果您openssl
在命令行上运行该命令,您将看到它如何返回散列密码字符串而不是纯文本密码。这仍然不是完全安全的,但比在 CLI 上使用纯文本密码要好得多。我还注意到,这使用了md5
散列,这被认为是弱的。我目前找不到sha
从命令行生成散列密码的方法;如果你能,那就更好了。