根据another QA,可以仅使用qemu
/ kvm
(不使用virsh
或其他任何一种)直接用最少的基础结构设置Ubuntu KVM。 / p>
缺少的是可以使用ssh进入的功能。 (使用默认的串行控制台速度很慢,并且某些键绑定无效,例如,不能使用 control + A 转到行的开头。)
在不设置额外网桥网络,防火墙规则或配置文件的情况下,将主机(例如8022)上的单个端口绑定到虚拟化端口(例如22)上的给定端口的最简单的黑客方式是什么? / p>
我想到的最简单的非KVM特定方法是使用ssh
的ssh
选项,使用-R [bind_address:]port:host:hostport
从来宾SSH回送给主机,例如ssh -R "8022:[::1]:22" guest@10.0.2.2
,但这需要在主机上设置新用户并在主机和来宾之间共享登录凭据。有没有更简单的方法?
P.S。来宾网络已经可以使用,您已经可以从来宾访问主机,但是我找不到通过IP从主机内部访问来宾的方法(无需设置复杂的桥接网络)。
答案 0 :(得分:0)
答案似乎很直接-按照https://unix.stackexchange.com/questions/124681/how-to-ssh-from-host-to-guest-using-qemu,只需将以下内容添加到kvm
选项中,即可将主机上的端口1810
转发到22
在访客上:
-net nic -net user,hostfwd=tcp::1810-:22
例如,
kvm -m 2048 -smp 2 -hda ubuntu-18.10-server-cloudimg-amd64.img -hdb user-data.img -net nic -net user,hostfwd=tcp::1810-:22 -nographic
然后您可以ssh
进入带有ssh ubuntu@localhost -p1810
的计算机。