尝试使用 Putty SSH 到本地 VM Ubuntu

尝试使用 Putty SSH 到本地 VM Ubuntu

我已经设置了 Ubuntu 服务器的虚拟机,安装了 OpenSSH,现在尝试使用 Putty 连接到它。在 Putty 中的“主机名”下,我输入了“Ubuntu”,因为这是我在设置虚拟机时所认为的名称。但是,我刚刚收到错误:“连接超时”。

我还尝试将“127.0.0.1”放入 Putty 中的主机名中,结果得到“连接被拒绝”。请注意,我已经在 Oracle VM 中完成了 SSH 和 HTTP 的端口转发,因此我不知道如何运行它。

答案1

VirtualBox 将创建一个专用网络 (10.0.2.x),它将使用以下命令连接到您的主机网络网络地址转换。 (除非另有配置。)

这意味着您无法从主机网络直接访问专用网络的任何主机。为此,您需要一些端口转发。例如,在虚拟机的网络首选项中,您可以将 VirtualBox 配置为打开 127.0.1.1 上的端口 22(环回您的主机地址)并将所有流量转发到 10.0.2.1 的端口 22(您的虚拟机的内部地址)

这样,您可以将 putty 指向 127.0.1.1 的端口 22,VirtualBox 会将此连接重定向到您的虚拟机,其中 ssh 守护进程将应答该连接,从而允许您登录。

答案2

我想使用 putty 连接到虚拟机上的 ubuntu(出于舒适原因,VB 很奇怪。除非它在正确的终端上,否则我无法工作)。反正,

  1. 确保您的 Linux 上安装了 ssh 客户端。如果没有,请安装它sudo apt install ssh
  2. 关闭操作系统电源。
  3. 现在,在您的 VB 上,转到Settings -> Network ->选择-> 单击。Adapter 1Host-only adapterOK
  4. 现在启动您的操作系统。跑步ifconfig;现在inet地址就是你的IP。
  5. 使用它并在你的腻子上运行它。使用您的凭据登录。

使用仅主机适配器的唯一缺点是您的来宾操作系统将无法访问更广泛的网络(例如互联网)。

如果您还需要 VM 访问 Internet,请将适配器 1 保留为 NAT,并启用适配器 2,将其配置为仅主机适配器。这将允许您的虚拟机使用 NAT 连接到互联网,并使用 Host-Only 与您的主机建立本地连接。

答案3

首先,您需要确定您的虚拟机是否通过桥接连接或通过 NAT 连接到主机,但以以太方式,您需要将虚拟机 IP 地址放入 putty 中才能连接到 IP,在虚拟机终端运行这个命令显示你的机器IP地址(没有127.0.0.1不是机器IP地址)

VM # ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:d9:16:b3 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.1 scope global eth0
       valid_lft forever preferred_lft forever

在这种情况下,我的 IP 地址将为 10.0.2.15,

首先尝试确保您可以与虚拟机进行基本级别的通信,在主机上打开终端窗口,然后尝试对虚拟机执行 ping 操作

HOST # ping 10.0.2.15

PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
64 bytes from 10.0.2.15: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 10.0.2.15: icmp_seq=2 ttl=64 time=0.110 ms
64 bytes from 10.0.2.15: icmp_seq=3 ttl=64 time=0.099 ms

如果您得到 ant 结果,请确保您的虚拟机上正在运行 ssh 服务,在虚拟机的终端中输入 root 身份,

VM # netstat -lnpt | grep 22
tcp   0  0  0.0.0.0:22  0.0.0.0:*  LISTEN  2361/sshd

这表明我们有一个 PID(2361) 的服务/进程,称为 sshd(OpenSSH 守护进程),正在侦听端口 22。

您可以通过尝试从虚拟机本身 ssh 到该服务来测试该服务是否正常工作,

VM # ssh 127.0.0.1

接下来你需要确保你的防火墙/iptables 中没有阻塞端口 22,我不敢相信,但无论如何还是检查一下。在 VM 中键入此命令以显示 iptables,

VM # iptables -nvL INPUT

在输出中你应该有这样的行:

0  0  ACCEPT  tcp  --  *  *  0.0.0.0/0  0.0.0.0/0  tcp  dpt:22  ctstate  NEW

答案4

以下说明适用于 Ubuntu 14.04 和 Oracle VirtualBox 4.3.30。

在 VirtualBox 中执行此操作:

  1. 右键单击您的虚拟机,选择“设置”,然后选择“网络”。

  2. 在“附加到”旁边,选择“仅主机适配器”。附带说明一下,“桥接适配器”也可以使用,请查看 VirtualBox 文档以获取有关每个选项的更多详细信息。

在虚拟机中执行此操作:

  1. 通过打开终端并输入 来查找您的网络 IP 地址ifconfig。观察“inet addr”下 eth0 旁边显示的 IP 地址。如果单击桌面右上角的网络图标,然后选择“连接信息”,您还可以看到您的 IP 地址。

  2. 通过在终端输入以下命令来安装 openssh-server:

    sudo apt-get install openssh-server
    
  3. 为了以防万一,请重新启动虚拟机。

现在,您可以使用上面步骤 1 中的 IP 地址和端口 22 从 PuTTY 进行连接。

相关内容