![无法通过端口转发通过 ssh 进入本地 qemu 实例](https://linux22.com/image/749143/%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%E9%80%9A%E8%BF%87%20ssh%20%E8%BF%9B%E5%85%A5%E6%9C%AC%E5%9C%B0%20qemu%20%E5%AE%9E%E4%BE%8B.png)
我正在尝试通过 构建自定义 Ubuntu(从 构建的 ISO bionic - 18.04.2
)qcow2 映像packer
。这在尝试通过端口转发通过 SSH 连接到实例的步骤中失败packer
。我可以从 VNC 看到实例启动正常,并且我可以使用给定的 ID 手动登录安慰,但packer
无法 ssh。
我尝试 ssh,ssh
从主机卡住了很长时间并出现错误:
ssh -vvv -p 2226 [email protected]
debug1: identity file /home/ani/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4
尽管端口已启动:
$ sudo lsof -i:2226
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
qemu-syst 31185 root 14u IPv4 50059412 0t0 TCP *:2226 (LISTEN)
SSH 服务器正在实例中运行,并且用户有效。我还需要检查什么才能确保 SSH 可以通过主机进行?在同一台主机上,我能够制作 Ubuntu Trusty ( 14.04
) qcow2。因此,我不确定是否需要传递一些额外的 qemu 命令行参数(以使端口转发正常工作)或者是否sshd
需要在 Ubuntu bionic () 上更改一些配置18.04
!
这是 qemu 命令行:
/usr/bin/qemu-system-x86_64 -cpu host -smp 4 -m 8192M -boot once=d -name ubuntu-bionic-custom-0.1.qcow2 -drive file=output/ubuntu-bionic-custom-0.1.qcow2,if=virtio,cache=writeback,discard=ignore,format=qcow2 -serial file:serial.out -device e1000,netdev=user.0 -machine type=pc,accel=kvm -netdev user,id=user.0,hostfwd=tcp::2226-:22 -cdrom /home/ani/ubuntu-bionic-custom-0.1.iso -vnc 127.0.0.1:83
版本:
$ /usr/bin/qemu-system-x86_64 --version
QEMU emulator version 2.11.1(Debian 1:2.11+dfsg-1ubuntu7.4)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
- 编辑 -
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.192.0.1 0.0.0.0 UG 0 0 0 br0
10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 lxcbr0
10.192.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
$ ip netns ls
$
答案1
这恰好是我使用的 bionic ISO 映像的一个问题。我已将其更改为使用传统网络(也回退到较旧的 iface 命名方案),而不是 NetPlan。但这样一来,我必须在/etc/network/interfaces
for中添加一个条目eth0