hda*_*ave 4 virtualization ssh ssh-tunnel virt-manager kvm-virtualization
我想使用 virt-manager 来管理我在远程主机上运行的 libvirt/kvm 虚拟机,但是我用来通过 ssh 连接到该主机的方法有点复杂。我需要使用自定义端口以及多跳的代理转发。例如,要通过 ssh 进入该 KVM 框,我使用默认标识证书并执行以下命令:
ssh -At -p 4188 www.example.com ssh -At -p 8854 virt-host.internals.int
Virtmanager 远程连接的对话框似乎相当原始,我想知道是否有解决方法?
我认为你有两个问题。
1) 建立一个通过堡垒主机的 ssh 连接。
这与如何进行多跳 SCP 传输基本相同的问题?所以先去读吧。
2) 现在您知道如何更透明地在命令行上处理它,您需要设置它以便它在没有 CLI 选项的情况下发生。
~/.ssh/config为执行 ssh'ing 的用户设置一个文件。(几乎?)您可以在 ssh 命令行上指定的任何内容,都可以在配置文件中指定。
为此,您需要以下内容:
host www.example.com
port 4188
forwardagent yes
host virt-host.internals.int
proxycommand ssh www.example.com nc virt-host.internals.int 8854
Run Code Online (Sandbox Code Playgroud)
我还没有测试过这个,所以语法可能是关闭的,但它应该让你朝着正确的方向前进。
请注意,它假定您可以从原始客户端计算机解析名称 virt-host.internals.int。情况可能并非如此(仅限内部 dns),在这种情况下,您将不得不以某种方式混合它(例如/etc/hosts,使用 ip 而不是主机名等)。