我想从我的本地笔记本电脑连接到远程桌面(假设170.170.70.70
),使用两个 Qemu 实例启动参数(大多数参数被跳过,我只留下那些不同的参数)
qemu-system-x86_64 -netdev tap,id=net0 -net user,hostfwd=tcp::4444-:22 -vnc :0
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