我正在寻找通过使用encryptionpasswd改变我的centos密码。
回声“密码1”| passwd –stdin用户名
但是,如果我使用上述方法,用户将看到我的密码是什么。 有人知道如何使“密码1”被encryption?
目前,我认为你最好的办法是将散列密码传给客户端,而不是明文密码。
在本地 ,使用哈希密码
hashpass = openssl passwd -1 -salt sssss ppppppppppp
然后告诉远程客户端
usermod -p $hashpass username
其中sssss是一个随机盐, ppppppppppp是所需的密码,而username是密码将被重置的用户。 确保$hashpass的正确通道也是你需要关注的。
如果你在命令行运行openssl命令,你会看到它是如何返回一个哈希密码string而不是明文密码。 这仍然不是完全安全的,但是比在CLI中使用明文密码要好很多。 我也注意到,这使用md5哈希,这被认为是弱。 我目前还找不到从命令行生成一个sha hash口令的方法; 如果可以,那会更好。