通过ssh在Linux服务器上更改密码的脚本?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (138)

我有许多Linux服务器。如何使用SSH一次性更改用户的密码?

有脚本吗?

提问于
用户回答回答于

安装expect,然后编写一个叫做.ex(expect)脚本的包装器:

#!/usr/bin/expect -f
# wrapper to make passwd(1) be non-interactive
# username is passed as 1st arg, passwd as 2nd

set username [lindex $argv 0]
set password [lindex $argv 1]
set serverid [lindex $argv 2]
set newpassword [lindex $argv 3]

spawn ssh $serverid passwd
expect "assword:"
send "$password\r"
expect "UNIX password:"
send "$password\r"
expect "password:"
send "$newpassword\r"
expect "password:"
send "$newpassword\r"
expect eof
用户回答回答于

你不需要root权限即可使用passwd

passwd <<EOF
old password
new password
new password
EOF

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动