Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terraform 帐户或密码已过期,请重置密码并重试sudo:无法更改过期密码:身份验证令牌操作错误_Terraform_Rhel_S390x - Fatal编程技术网

Terraform 帐户或密码已过期,请重置密码并重试sudo:无法更改过期密码:身份验证令牌操作错误

Terraform 帐户或密码已过期,请重置密码并重试sudo:无法更改过期密码:身份验证令牌操作错误,terraform,rhel,s390x,Terraform,Rhel,S390x,我正在使用terraform在Openstack中创建一台RHEL7.8机器,其中包含s390x arch,并在user\u data中运行init.sh文件。在执行init.sh文件中的任何命令时,我得到了以下错误日志 我的init.sh文件 echo "Start executing bootstrap...\n" echo -e "${root_pwd}\n${root_pwd}" | sudo passwd root echo "Chan

我正在使用terraform在Openstack中创建一台RHEL7.8机器,其中包含s390x arch,并在
user\u data
中运行
init.sh
文件。在执行
init.sh
文件中的任何命令时,我得到了以下错误日志

我的init.sh文件

echo "Start executing bootstrap...\n"
echo -e "${root_pwd}\n${root_pwd}" | sudo passwd root
echo "Changed Root account password"
sudo yum update -y
我得到下面的错误消息

Start executing bootstrap...\n
sudo: Account or password is expired, reset your password and try again
Changing password for root.
sudo: no tty present and no askpass program specified
sudo: unable to change expired password: Authentication token manipulation error
Changed Root account password
sudo: Account or password is expired, reset your password and try again
sudo: no tty present and no askpass program specified
sudo: unable to change expired password: Authentication token manipulation error
当我手动登录机器并尝试
sudo passwd root
时,它工作正常。
为什么它不能通过terraform工作

您是否使用terraform用于连接的相同凭据手动登录到机器上?是的,我使用key登录机器。在terraform中,我也使用key连接机器。但这里我正在执行user_数据中的
init.sh
文件我只是在这里猜测,但是,是否有一些VM初始化任务在尝试脚本化sudo之前尚未完成,但在手动尝试之前完成?也许向脚本添加延迟可以解决此问题。您的意思是延迟执行
user\u data
吗?我延迟了脚本的执行,但仍然存在问题