ด้วยคำสั่งต่อไปนี้ ฉันสามารถ ssh ลงในเครื่องเสมือนบน localhost:10022
/usr/bin/qemu-system-riscv64 \
-M virt -accel tcg -m 8192 -smp 8 \
-โนกราฟิก \
-bios RISCVVIRT.fd \
-bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \
-เคอร์เนล /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \
-drive file=riscv64.img,format=raw,if=virtio \
-อุปกรณ์ virtio-net-device,netdev=net0 \
-ผู้ใช้ netdev,dhcpstart=10.0.2.20,hostfwd=tcp::10022-10.0.2.20:22,id=net0
แต่สำหรับการทดสอบของฉัน ฉันต้องใช้ NIC หลายตัว
/usr/bin/qemu-system-riscv64 \
-M virt -accel tcg -m 8192 -smp 8 \
-โนกราฟิก \
-bios RISCVVIRT.fd \
-bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \
-เคอร์เนล /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \
-drive file=riscv64.img,format=raw,if=virtio \
-อุปกรณ์ virtio-net-device,netdev=net0 \
-ผู้ใช้ netdev,dhcpstart=10.0.2.20,hostfwd=tcp::10022-10.0.2.20:22,id=net0 \
-อุปกรณ์ virtio-net-pci,netdev=devnet1,id=net1 \
ผู้ใช้ -netdev,dhcpstart=10.0.2.30,id=devnet1 \
-อุปกรณ์ 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>
ใช้งานอยู่: ใช้งานอยู่ (ทำงาน) ตั้งแต่วันพุธที่ 2022-05-11 15:53:42 UTC; 41s ที่ผ่านมา
เอกสาร: man:sshd(8)
ผู้ชาย: sshd_config(5)
กระบวนการ: 637 ExecStartPre=/usr/sbin/sshd -t (รหัส=ออก, สถานะ=0/สำเร็จ)
PID หลัก: 680 (sshd)
งาน: 1 (จำกัด: 4433)
หน่วยความจำ: 3.7M
ซีพียู: 449ms
CGroup: /system.slice/ssh.service
ââ680 "sshd: /usr/sbin/sshd -D [listener] 0 จาก 10-100 การเริ่มต้น"
11 พฤษภาคม 15:53:42 rv64 systemd[1]: กำลังเริ่มต้นเซิร์ฟเวอร์ OpenBSD Secure Shell...
11 พฤษภาคม 15:53:42 rv64 sshd[680]: เซิร์ฟเวอร์กำลังฟังบนพอร์ต 10.0.2.20 22
11 พฤษภาคม 15:53:42 rv64 systemd[1]: เริ่มเซิร์ฟเวอร์ OpenBSD Secure Shell