С помощью следующей команды я могу подключиться по ssh к виртуальной машине на локальном хосте: 10022.
/usr/bin/qemu-система-riscv64 \
-M virt -accel tcg -m 8192 -smp 8 \
-нографический \
-биос RISCVVIRT.fd \
-bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \
-kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \
-диск файл=riscv64.img,формат=raw,если=virtio \
-device virtio-net-device,netdev=net0 \
-пользователь-netdev,dhcpstart=10.0.2.20,hostfwd=tcp::10022-10.0.2.20:22,id=net0
Но для моих тестов мне нужно несколько сетевых карт
/usr/bin/qemu-система-riscv64 \
-M virt -accel tcg -m 8192 -smp 8 \
-нографический \
-биос RISCVVIRT.fd \
-bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \
-kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \
-диск файл=riscv64.img,формат=raw,если=virtio \
-device virtio-net-device,netdev=net0 \
-netdev пользователь, dhcpstart=10.0.2.20,hostfwd=tcp::10022-10.0.2.20:22,id=net0 \
-device virtio-net-pci,netdev=devnet1,id=net1 \
-netdev пользователь, dhcpstart=10.0.2.30,id=devnet1 \
-device virtio-net-pci,netdev=devnet2,id=net2 \
-netdev пользователь, dhcpstart=10.0.2.40,id=devnet2
Порт localhost:10022 принимает соединения, но я не могу подключиться к SSH-серверу.
Это не проблема с ssh:
# статус systemctl ssh
ssh.service — сервер OpenBSD Secure Shell
Загружено: загружено (/lib/systemd/system/ssh.service; включено; предустановка поставщика: e>
Активно: активен (работает) со среды 11 мая 2022 г., 15:53:42 UTC; 41с назад
Документы: человек:sshd(8)
мужчина: sshd_config(5)
Процесс: 637 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Основной PID: 680 (sshd)
Заданий: 1 (лимит: 4433)
Память: 3,7 М
ЦП: 449 мс
Группа CG: /system.slice/ssh.service
ââ680 "sshd: /usr/sbin/sshd -D [прослушиватель] 0 из 10-100 запусков"
11 мая, 15:53:42 rv64 systemd[1]: Запуск сервера OpenBSD Secure Shell...
11 мая, 15:53:42 rv64 sshd[680]: сервер прослушивает порт 22 10.0.2.20.
11 мая, 15:53:42 rv64 systemd[1]: запущен сервер OpenBSD Secure Shell.