我需要通过ssh连接到服务器并在不键入ssh或sudo password的情况下更改用户的密码。
我找到了一些示例,但我不能完成一个命令。
我发现这条命令用于ssh连接,但没有键入密码,也没有为删除用户运行sudo命令:
sshpass -p $admin_password ssh -t $admin@$server "echo $admin_password | sudo -S /usr/sbin/userdel -r $usr"然后我找到了更改用户密码的命令:
echo "$usr:$password" | sudo -S /usr/sbin/chpasswd;最后,我想要这样的东西:
sshpass -p $admin_password ssh -t $admin@$server "echo $admin_password | sudo -S echo "$usr:$password" | sudo -S /usr/sbin/chpasswd;"你有什么想法吗?
发布于 2012-04-18 10:48:06
你的问题实际上需要两件事。远程更改用户密码的命令:
ssh remoteserver 'echo -e "passwdofuser\npasswdofuser" | passwd username'要做到这一点,您可能需要成为root用户,或者在sudo配置中,让"passwd“不要求用户输入密码即可运行。
visudo编辑文件:
Cmnd_Alias MYPASSWD = /usr/bin/passwd
yourusername ALL = NOPASSWD: MYPASSWD这应该允许您通过ssh登录,而不必使用密码来运行passwd命令。
https://stackoverflow.com/questions/10192223
复制相似问题