如何通过 SSH 连接到本地 hyper-v 虚拟机?

如何通过 SSH 连接到本地 hyper-v 虚拟机?

我拥有的:
Windows 8.1 专业版

我想要的是?
模拟一种情况:使用 SSH 连接远程 Linux 系统。

我做什么:
在内置 Hyper-v 下安装 CentOS 6.4 x64。它运行良好。

问题是什么?
如何通过 SSH 通过终端连接到这个 hyper-v CentOS?

答案1

最简单的解决方案是启用桥接连接,你可以找到这里如何做到这一点。完成此操作并启动虚拟机后,它将出现在您的 LAN 上,并且 IP 与您的主机一样。然后您可以通过以下方式 ssh 进入它:

 ssh me@IP_of_my_VM 

或者无论您在 Windows 上使用什么,我猜是 Putty。

答案2

为可能遇到此问题的人们提供分步说明。

来宾 -> Hyper-V 上的 Linux
主机 -> 您的操作系统 (Windows 8/10/11)

  1. 确保客户机(Linux)可以连接网络(使用 Hyper-V 管理器中的默认开关是最简单的)。

  2. 在客户机上安装网络工具打开 ssh 服务器.
    一.$ sudo apt-get install net-tools
    一.$ sudo apt-get install -y openssh-server

  3. 安装 openssh 后,编辑其配置文件
    nano /etc/ssh/ssh_configvi /etc/ssh/ssh_config默认情况下,Vi 编辑器通常可用。如果您不熟悉 vi,则可能需要安装 nano。

  4. 找到并取消注释
    #Password Authentication yes
    因此它看起来像:
    Password Authentication yes保存文件

  5. 完成这些更改后重新加载 ssh
    a. sudo systemctl disable ssh
    b.sudo systemctl enable ssh
    如果上述命令不起作用,请尝试这些:
    sudo systemctl stop ssh sudo systemctl start ssh

  6. 确保 ssh 正在运行 # systemctl status ssh
    现在您可以平安地继续前进。

  7. 在客户机上,从终端找到其 IP。使用
    a。ip address
    b。c。ip address | grep -i eth0
    用户名是您的 Linux 用户名,密码是您的 Linux 登录密码。

在主机上

  1. 使用 PowerShell 直接连接到客户机,或者使用 Putty 之类的程序。我个人更喜欢 powershell。(确保 Hyper V 正在运行)
    例如:主机名:linux用户名,ip:172.154.123.321(见第7条),密码(linuxpassword) 电源外壳
    ssh [email protected] 输入 linuxpassword
    油灰
    同样,只需在主机名中输入 IP 地址并按回车键,在终端中输入密码,您也应该在那里。

答案3

我要插话,因为给出的答案仅涵盖了您希望虚拟机也暴露在互联网上的用例,而且工作量也比必要的多。如果您想在虚拟内部网络上运行它:

  1. 将虚拟交换机设置为内部网络并将其应用于虚拟机
  2. 在 Hyper-V 管理器的网络选项卡下,您应该看到与 VM 关联的 IPv6 地址。
  3. 如果需要,请调整列宽或将鼠标悬停在最右侧以显示 IPv6 地址(可能以 fe80 开头)。使用您选择的软件连接到此 IP 地址。

对于外部网络,您应该在网络选项卡上看到它正在使用的 IPv4 地址,并且应该能够连接到该地址。

答案4

我不确定这是否是一个普遍的答案,但是在使用其他建议没有取得多大成功之后,我做了以下操作并且成功了:

我的客户机是一台 CentOS 7 机器,正在使用“默认网络”交换机。

在客户端上,我运行了“ifconfig”命令来查看该盒子的 IP:

eth0:标志=4163 mtu 1500 inet 172.28.240.149

然后我把这个 IP 地址输入到 Putty 中,瞧,它连接上了。神奇的网络 FTW。

相关内容