如何通过 SSH 连接到不同的 Qemu 实例

如何通过 SSH 连接到不同的 Qemu 实例

我想从我的本地笔记本电脑连接到远程桌面(假设170.170.70.70),使用两个 Qemu 实例启动参数(大多数参数被跳过,我只留下那些不同的参数)

  1. qemu-system-x86_64 -netdev tap,id=net0 -net user,hostfwd=tcp::4444-:22 -vnc :0
  2. qemu-system-x86_64 -netdev tap,id=net1 -net user,hostfwd=tcp::5555-:22 -vnc :1

当我sudo netstat -ltnup|grep qemu在远程桌面上执行时我得到

tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      1305730/qemu-system 
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      1306061/qemu-system 
tcp        0      0 0.0.0.0:5555            0.0.0.0:*               LISTEN      1306061/qemu-system 
tcp        0      0 0.0.0.0:4444            0.0.0.0:*               LISTEN      1305730/qemu-system 
tcp6       0      0 :::5900                 :::*                    LISTEN      1305730/qemu-system 
tcp6       0      0 :::5901                 :::*                    LISTEN      1306061/qemu-system

我可以使用vncviewer以下方法从本地笔记本电脑访问每个 Qemu 实例的 UI

vncviewer 170.170.70.70::5900  # First instance
vncviewer 170.170.70.70::5901  # Second instance

但我希望也能通过 SSH 进行连接。当我这样做时

ssh [email protected]  # Connect to remote
ssh [email protected]  # Connect to Qemu

我连接到第一个。我以为由于端口转发,我可以作为

ssh [email protected] -p 4444 # First instance
ssh [email protected] -p 5555 # Second instance

但那没用,我得到了

ssh: connect to host 192.168.7.2 port 4444: Connection refused

我需要做哪些更改才能通过 SSH 连接到两个 Qemu 实例?

答案1

在 qemu 下安装操作系统并通过 Qemu DHCP 获取其 IP 地址后,例如第一个系统给出 10.0.2.5,第二个系统给出 10.0.2.6,您可以在第一个系统上尝试此操作:

-net user,hostfwd=tcp:127.0.0.1:4444-10.0.2.5:22

您可以在第二个系统上尝试此操作:

-net user,hostfwd=tcp:127.0.0.1:5555-10.0.2.6:22

之后你就可以通过以下命令通过 ssh 连接到你的第一个系统:

ssh [email protected] -p 4444

你可以通过以下命令通过 ssh 连接到你的第二个系统:

ssh [email protected] -p 5555

相关内容