Я пытаюсь создать собственный Ubuntu (ISO, созданный из bionic - 18.04.2
) qcow2 изображение через packer
. Это не удается на этапе, когда packer
пытается подключиться к экземпляру по SSH через переадресацию порта. По VNC я вижу, что экземпляр вращается нормально, и я могу войти в систему с заданным идентификатором вручную на приставка, но packer
не может использовать ssh.
Я пытался ssh, ssh
хост формы надолго зависает и выдает ошибки:
ssh -vvv -p 2226 admin@127.0.0.1
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
$
Это была проблема с бионическим ISO-образом, который я использовал. Я изменил его на использование традиционной сети (также вернувшись к старой схеме именования iface) вместо NetPlan. Но с этим мне пришлось добавить запись в /etc/network/interfaces
для eth0