2017-04-21 83 views
0

我已經做了,當我創建帕克和Ubuntu 14的流浪漢框指定root密碼指定根密碼,處理這個命令到腳本provisionning:echo "root:vagrant"|chpasswd沒有交互模式進入bash腳本

但我想使用基於Ubuntu 16.04的新流浪盒做到這一點。不幸的是,這個命令不運行,我必須用SSH連接到我的虛擬機,並手動指定我的密碼根:sudo passwd

我不想要這個步驟配置密碼。我如何用包裝器和配置腳本sh來做到這一點?使用非交互模式指定root密碼?

+1

從理論上講,應該在16.0工作了。你有沒有嘗試設置/取消設置'ssh_pty'?簡單的解決方案是在'boot_command'中設置密碼I your _preseed_ file或_preseed_ arms。 –

+0

什麼是ssh_pty,如何在preseed.cfg中添加這個,什麼是preseed武器或者如何將這添加到json模板文件打包器中的boot_command? – darkomen

回答

1

您可以:

1)設置它在你的preseed.cfg文件有:

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

bento: Debian 8 - Example

2)或將其設置爲boot_command一個的preseed說法:

"passwd/root-password={{ user `root_password` }} ", 
"passwd/root-password-again={{ user `root_password` }} ", 

其中root_password是一個Packer 用戶變量。見boxcutter/ubuntu: Ubuntu Template(在本例中爲vagrant用戶的密碼設置,不root


PTY:見Wikipedia: PseudoterminalPacker Documentation: SSH PTY

+0

在windows 10 pro + packer 1.0.0 + Vagrant 1.9.3和Ubuntu 16.04.2 LTS上完美運行的非常好的準確和完整的響應 – darkomen