有没有办法在配置阶段之后但在清理之前打开交互式 SSH 连接?类似于脚本语言中调试器的工作方式。这对于调试我的配置脚本很有用,尤其是在从头开始编写时。
Simplebash -i
在配置脚本中不起作用,可能是因为没有连接 TTY。
我正在使用 VirtualBox 构建器。
答案1
我目前的解决方法是让机器保持运行,然后手动通过 SSH 进入虚拟机。用户名和密码保持不变。可以在 VirtualBox 设置中找到本地 SSH 端口;它一直在变化,但如果不需要并行,可能会在这里被滥用host_port_min
。host_port_max
有两种方法可以保持其运行。
- 附加
sleep 1800
到配置程序脚本。 - 添加
--on-error=abort
到packer build
,并返回配置脚本中的错误。这样 Packer 就可以提前退出并跳过清理。
笔记:
- 对于 Packer 来说,SSH 密码通常简单且静态。在这种情况下
sshpass
很有用。 - SSH 主机密钥每次都会改变。使用
-o NoHostAuthenticationForLocalhost=yes
它。