[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#48739: QEMU SSH hostfwd example from manual doesn't work anymore
From: |
Maxim Cournoyer |
Subject: |
bug#48739: QEMU SSH hostfwd example from manual doesn't work anymore |
Date: |
Sun, 30 May 2021 23:39:49 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hello Eric,
[...]
> Hello Maxim,
>
> Just today I ssh'd into childhurd with -p 10022 like the manual
> suggests.
>
> Also, I ssh'd into Debian GNU/Hurd in qemu with 5555 like the Hurd
> documentation
> suggests. I ended up using (also to get Spice):
>
> qemu-system-x86_64 -m 3072 -smp 1 -enable-kvm -nic \
> user,model=rtl8139,hostfwd=tcp::5555-:22 -net user -boot menu=on,order=d \
> -drive cache=writeback,file=hurd.img -device \
> virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 \
> -chardev spicevmc,name=vdagent,id=vdagent -device \
> virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,name=com.redhat.spice.0
>
> You may have a different issue, just want to give some feedback.
>
> Best regards,
> Eric
Thanks a lot for sharing this; I tried your above snippet with the
Debian Hurd img file, and it worked! Out of curiosity, how do you use
Spice with the above? It'd need a Spice-enabled viewer such as
virt-manager right? How do you point virt-manager to the VM instance
spawned with QEMU?
So it's not a QEMU bug. I'm also
running a childhurd VM and it indeed works there. The command the
childhurd service uses is:
--8<---------------cut here---------------start------------->8---
qemu-system-i386 -m 512 --device rtl8139,netdev=net0 --netdev
user,id=net0,hostfwd=tcp:127.0.0.1:11004-:1004,hostfwd=tcp:127.0.0.1:10022-:2222,hostfwd=tcp:127.0.0.1:15900-:5900
--snapshot --hda /gnu/store/84881fwqhwl37n7gbh8lhg3i01sxrp2p-disk-image
--no-reboot --enable-kvm
--8<---------------cut here---------------end--------------->8---
Stealing its --device and --netdev options applied to my case:
--8<---------------cut here---------------start------------->8---
/gnu/store/kkwyzm7b6mg42sm5cljlqrca9f5hqmyn-run-vm.sh --device
rtl8139,netdev=net0 --netdev user,id=net0,hostfwd=tcp:127.0.0.1:3333-:22
--8<---------------cut here---------------end--------------->8---
And try to connect to SSH, I can see messages like:
--8<---------------cut here---------------start------------->8---
qemu-system-x86_64: Slirp: Failed to send packet, ret: -1
--8<---------------cut here---------------end--------------->8---
So at this point I'm guessing my minimal OS declaration is too minimal
and missing a networking component. It's this:
--8<---------------cut here---------------start------------->8---
(use-modules (gnu services ssh)
(gnu system)
(gnu tests))
(simple-operating-system
(service openssh-service-type
(openssh-configuration
(permit-root-login #t)
(allow-empty-passwords? #t)
(log-level 'debug))))
--8<---------------cut here---------------end--------------->8---
Adding the DHCP client service like so:
--8<---------------cut here---------------start------------->8---
(use-modules (gnu services networking)
(gnu services ssh)
(gnu system)
(gnu tests))
(simple-operating-system
(service dhcp-client-service-type)
(service openssh-service-type
(openssh-configuration
(permit-root-login #t)
(allow-empty-passwords? #t)
(log-level 'debug))))
--8<---------------cut here---------------end--------------->8---
I've added a note to document this and spare others the trouble of going
down this hole with commit b9ac7d9aaaa5849cc3c2acd4b1b41acdd545e66b.
Thanks a lot for helping me see the solution!
Closing.
Maxim