在Gandi(或其他提供商)上,您可以激活紧急控制台到您的虚拟机。 它将一个SSH通道绑定到一个临时的IP和端口。
我有我自己的服务器上运行的xen。 我想实现一个紧急控制台,但我不知道从哪里开始。
控制台可以通过xm console <servername>命令访问。 我想可以将stdin / stdout / stderr绑定到在选定的随机端口上运行的SSH服务器。
总体思路是,当有人需要紧急访问他们的虚拟机时,他们可以使用自己的凭据login虚拟机pipe理程序网站,并点击“启用我的紧急SSH访问”。 从那里随机端口绑定到虚拟机一段指定的时间。
另一种说法是, 甘迪如何设法实现紧急控制台访问而不必重启虚拟机?
将二进制注入正在运行的Xen虚拟机,以创buildSSH服务器并访问文件系统是不可行的。
如果您严格需要打开一个紧急SSH会话,则必须销毁该虚拟机,然后将其磁盘附加到具有正在运行的SSH服务器的单独的一般只读应急映像。 救援图像将代替破碎的客人,虚拟机pipe理员可以使用此救援图像进行修复破碎的客人所需的任何更改。
微笑龙的答案解释了如何做到这一点,但这将是一个非常坏的主意,安全。
由于在主机上允许通过SSH进行控制台访问并不难(微笑龙的答案),所以你可以使用noVNC之类的东西build立一个VNC代理,并用authentication令牌来保护VNC会话。 OpenStack做到这一点 。
这个解决scheme是一个相当安全的方式(如果正确实施,就像OpenStack一样)让虚拟机pipe理员访问一个实时运行的实例,但是需要最多的工程才能正确设置。
一个有点冒险的解决scheme可能是dynamic创build一个包含VM拥有者的公钥的authorized_keys的ssh帐户。 shell将被设置为xm console <servername> && <command to remove the user again> 。
当然你需要仔细考虑用户脱离xm会话的安全含义。