Vagrant 在bash脚本中指定无交互模式的根密码

Vagrant 在bash脚本中指定无交互模式的根密码,vagrant,ubuntu-16.04,packer,Vagrant,Ubuntu 16.04,Packer,当我用Packer和Ubuntu 14创建vagrant框时,我已经指定了root密码,并在脚本配置中处理这个命令:echo“root:vagrant”| chpasswd 但我想用新的基于Ubuntu 16.04的vagrant box来实现这一点。不幸的是,这个命令没有运行,我必须使用SSH连接到我的VM,并使用以下命令手动指定我的密码根:sudo passwd 我不需要此步骤的配置密码。如何使用打包和供应脚本sh实现这一点?在没有交互模式的情况下指定root密码?您可以: 1) 在您的pr

当我用Packer和Ubuntu 14创建vagrant框时,我已经指定了root密码,并在脚本配置中处理这个命令:
echo“root:vagrant”| chpasswd

但我想用新的基于Ubuntu 16.04的vagrant box来实现这一点。不幸的是,这个命令没有运行,我必须使用SSH连接到我的VM,并使用以下命令手动指定我的密码根:
sudo passwd

我不需要此步骤的配置密码。如何使用打包和供应脚本sh实现这一点?在没有交互模式的情况下指定root密码?

您可以:

1) 在您的
preseed.cfg
文件中设置它,方法是:

d-i passwd/root-password-again password vagrant
d-i passwd/root-password password vagrant

2) 或者将其设置为
boot\u命令中的预置参数

"passwd/root-password={{ user `root_password` }} ",
"passwd/root-password-again={{ user `root_password` }} ",
其中
root\u password
是打包机用户变量。请参阅(在本例中,设置了
vagrant
用户的密码,而不是
root


PTY:请参见和

您可以:

1) 在您的
preseed.cfg
文件中设置它,方法是:

d-i passwd/root-password-again password vagrant
d-i passwd/root-password password vagrant

2) 或者将其设置为
boot\u命令中的预置参数

"passwd/root-password={{ user `root_password` }} ",
"passwd/root-password-again={{ user `root_password` }} ",
其中
root\u password
是打包机用户变量。请参阅(在本例中,设置了
vagrant
用户的密码,而不是
root



PTY:从理论上看,16.0版也应该适用。您是否尝试过设置/取消设置
ssh\u pty
?简单的解决方案就是在你的预存文件中设置密码,或者在
boot\u命令中使用预存的arms设置密码。什么是ssh\u pty,如何在preseed.cfg中添加它,什么是预存的arms,或者如何在json模板文件打包器中将它添加到boot\u命令中?理论上,这在16.0上也应该适用。您是否尝试过设置/取消设置
ssh\u pty
?简单的解决方案就是在
boot\u命令
中设置预存文件或预存手臂的密码。什么是ssh\u pty,如何在preseed.cfg中添加它,呈现的arms是什么?如何将其添加到json模板文件打包器中的boot_命令?非常好、准确和完整的响应,在windows 10 pro+packer 1.0.0+Vagrant 1.9.3和Ubuntu 16.04.2 LTS上完美运行非常好、准确和完整的响应,在windows 10 pro+packer 1.0.0+Vagrant 1.9.3和Ubuntu 16.04.2上完美运行LTS