我在 Hyper-V 服务器上创建了一个 Vyatta 虚拟机,但我没有在该虚拟机上启用 ssh。我想在不启用 ssh 的情况下连接到该机器并使用 power shell 执行一些 shell 命令。可以这样做吗?除了 Hyper-V 控制台之外,还有其他方法可以访问该机器吗?
答案1
[...] 我没有在该虚拟机上启用 ssh。我想在不启用 ssh 的情况下连接到该机器并使用 power shell 执行一些 shell 命令。
您想要使用 shell 进行远程连接的愿望与您想要禁用提供 shell 的远程服务的愿望完全相悖。
不管怎样,您都必须启用传输来承载 shell 通信。PowerShell 无法在 Linux 上运行(除了古怪的宠物项目和实现),即使您能运行,也需要启用 WinRM 服务,该服务基本上(广义上讲)是 Windows 版 OpenSSH。如果您已在 Linux 计算机上禁用 SSH,则没有理由相信您会启用 WinRM(如果理论上可用)。
您别无选择,只能启用 ssh 或使用 Hyper-V 控制台。
答案2
听起来您想在不打开必要端口的情况下通过控制台访问 Vyatta。如果这是真正的要求,我认为您应该将虚拟机的一个虚拟 COM 端口配置为控制台。您需要根据 Vyatta 的说明进行配置。我不熟悉 Vyatta,但我曾多次使用 Ubuntu 这样做,如下所述:
https://help.ubuntu.com/community/SerialConsoleHowto
然后,您可以使用 PuTTY 从虚拟 com 端口连接到命名管道,也可以使用此实用程序将其反映到 TCP 端口:
http://shvechkov.tripod.com/nptp.html
当您连接 COM 端口时,我建议在 VM 中使用 COM2。默认情况下,COM2 的配置方式适合终端(而不是适合 NT 内核调试器)。在 Hyper-V 的更高版本中,您可以使用以下 PowerShell 命令配置 COM 端口。在早期版本中,COM2 是唯一适合您的 COM 端口。
设置-vmcomport-debuggermode关闭