[英]packer: ssh communicator ignores "ssh_port"
我正在構建一個類型為“virtualbox-iso”和 OpenSUSE 42.3 作為來賓操作系統的 VirtualBox VM。我指定了 ssh 通信器在構建過程中應該使用的主機和端口,但看起來 packer 忽略了端口規范。
我正在“構建器”部分覆蓋主機和端口的默認設置。 這是我的 json 文件的摘錄:
"builders": [
{
"type": "virtualbox-iso",
"communicator": "ssh",
"ssh_host": "192.168.1.5",
"ssh_port": "22",
"ssh_username": "some_user",
"ssh_password": "some_password",
"ssh_timeout": "20m",
"ssh_handshake_attempts": "1000",
Packer 無法連接到 VM,因為 Packer 忽略了我通過“ssh_port”提供的端口。 這是調試輸出(使用 PACKER_LOG=1 啟用):
2019/06/10 15:10:10 packer: 2019/06/10 15:10:10 [INFO] Waiting 1s
2019/06/10 15:10:11 ui: ==> opensuse-master-box: Using ssh communicator to connect: 192.168.1.5
2019/06/10 15:10:11 packer: 2019/06/10 15:10:11 [INFO] Waiting for SSH, up to timeout: 20m0s
2019/06/10 15:10:11 ui: ==> opensuse-master-box: Waiting for SSH to become available...
2019/06/10 15:10:26 packer: 2019/06/10 15:10:26 [DEBUG] TCP connection to SSH ip/port failed: dial tcp 192.168.1.5:4240: i/o timeout
2019/06/10 15:10:31 packer: 2019/06/10 15:10:31 [DEBUG] TCP connection to SSH ip/port failed: dial tcp 192.168.1.5:4240: connect: connection refused
2019/06/10 15:10:36 packer: 2019/06/10 15:10:36 [DEBUG] TCP connection to SSH ip/port failed: dial tcp 192.168.1.5:4240: connect: connection refused
2019/06/10 15:10:41 packer: 2019/06/10 15:10:41 [DEBUG] TCP connection to SSH ip/port failed: dial tcp 192.168.1.5:4240: connect: connection refused
這是預期的行為還是我做錯了什么?
這是因為 VirtualBox NAT 網絡的工作方式。 您無法從主機直接訪問來賓 VM。 Packer 通過設置端口轉發規則來解決這個問題。 ssh_host_port_min和ssh_host_port_max之間的隨機端口被轉發到訪客虛擬機ssh_port 。
如果你想把這個 set ssh_skip_nat_mapping設置為true
,但是你必須確保你有一個網絡設置,Packer 可以訪問來賓。
這是因為您正在執行“22”而不是 22。配置正在尋找一個 int,而不是一個字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.