Cu următoarea comandă, sunt capabil să ssh în mașina virtuală pe localhost:10022.
/usr/bin/qemu-system-riscv64 \
-M virt -accel tcg -m 8192 -smp 8 \
-nografic\
-bios RISCVVIRT.fd \
-bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \
-kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \
-drive file=riscv64.img,format=raw,if=virtio\
-device virtio-net-device,netdev=net0 \
-utilizator netdev,dhcpstart=10.0.2.20,hostfwd=tcp::10022-10.0.2.20:22,id=net0
Dar pentru testele mele am nevoie de mai multe NIC-uri
/usr/bin/qemu-system-riscv64 \
-M virt -accel tcg -m 8192 -smp 8 \
-nografic\
-bios RISCVVIRT.fd \
-bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \
-kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \
-drive file=riscv64.img,format=raw,if=virtio\
-device virtio-net-device,netdev=net0 \
-netdev user,dhcpstart=10.0.2.20,hostfwd=tcp::10022-10.0.2.20:22,id=net0 \
-device virtio-net-pci,netdev=devnet1,id=net1 \
-netdev user,dhcpstart=10.0.2.30,id=devnet1 \
-device virtio-net-pci,netdev=devnet2,id=net2 \
-utilizator netdev,dhcpstart=10.0.2.40,id=devnet2
Portul localhost:10022 acceptă conexiuni, dar nu pot ajunge la serverul SSH.
Nu este o problemă cu ssh:
# systemctl status ssh
â ssh.service - Server OpenBSD Secure Shell
Încărcat: încărcat (/lib/systemd/system/ssh.service; activat; prestabilit furnizor: e>
Activ: activ (în rulare) din miercuri 11-05-2022 15:53:42 UTC; acum 41 de ani
Documente: man:sshd(8)
man:sshd_config(5)
Proces: 637 ExecStartPre=/usr/sbin/sshd -t (cod=exit, status=0/SUCCESS)
PID principal: 680 (sshd)
Sarcini: 1 (limită: 4433)
Memorie: 3,7 M
CPU: 449 ms
CGroup: /system.slice/ssh.service
ââ680 "sshd: /usr/sbin/sshd -D [ascultător] 0 din 10-100 de porniri"
11 mai 15:53:42 rv64 systemd[1]: Se pornește serverul OpenBSD Secure Shell...
11 mai 15:53:42 rv64 sshd[680]: Serverul ascultă pe 10.0.2.20 portul 22.
11 mai 15:53:42 rv64 systemd[1]: A pornit serverul OpenBSD Secure Shell.