Với lệnh sau, tôi có thể ssh vào máy ảo trên localhost:10022.
/usr/bin/qemu-system-riscv64 \
-M virt -accel tcg -m 8192 -smp 8 \
-nographic \
-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 \
-thiết bị virtio-net-device,netdev=net0 \
người dùng -netdev,dhcpstart=10.0.2.20,hostfwd=tcp::10022-10.0.2.20:22,id=net0
Nhưng đối với các bài kiểm tra của tôi, tôi cần nhiều NIC
/usr/bin/qemu-system-riscv64 \
-M virt -accel tcg -m 8192 -smp 8 \
-nographic \
-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 \
-thiết bị virtio-net-device,netdev=net0 \
người dùng -netdev,dhcpstart=10.0.2.20,hostfwd=tcp::10022-10.0.2.20:22,id=net0 \
-thiết bị virtio-net-pci,netdev=devnet1,id=net1 \
người dùng -netdev,dhcpstart=10.0.2.30,id=devnet1 \
-thiết bị virtio-net-pci,netdev=devnet2,id=net2 \
người dùng -netdev,dhcpstart=10.0.2.40,id=devnet2
Cổng localhost:10022 chấp nhận kết nối nhưng tôi không thể truy cập máy chủ SSH.
Nó không phải là một vấn đề với ssh:
# trạng thái systemctl ssh
â ssh.service - Máy chủ OpenBSD Secure Shell
Đã tải: đã tải (/lib/systemd/system/ssh.service; đã bật; giá trị đặt trước của nhà cung cấp: e>
Hoạt động: hoạt động (đang chạy) kể từ Thứ Tư 2022-05-11 15:53:42 UTC; 41s trước
Tài liệu: man:sshd(8)
người đàn ông:sshd_config(5)
Quá trình: 637 ExecStartPre=/usr/sbin/sshd -t (mã=đã thoát, trạng thái=0/THÀNH CÔNG)
PID chính: 680 (sshd)
Nhiệm vụ: 1 (giới hạn: 4433)
Bộ nhớ: 3,7M
CPU: 449 mili giây
Nhóm C: /system.slice/ssh.service
ââ680 "sshd: /usr/sbin/sshd -D [listener] 0 trong số 10-100 lần khởi động"
Ngày 11 tháng 5 15:53:42 rv64 systemd[1]: Khởi động máy chủ OpenBSD Secure Shell...
Ngày 11 tháng 5 15:53:42 rv64 sshd[680]: Máy chủ đang lắng nghe trên cổng 10.0.2.20 22.
Ngày 11 tháng 5 15:53:42 rv64 systemd[1]: Khởi động máy chủ OpenBSD Secure Shell.