wic*_*lls 173 ubuntu putty virtualbox
我已经设置了一个 Ubuntu 服务器的虚拟机,已经安装了 OpenSSH,现在我正在尝试使用 Putty 连接到它。在 Putty 中的“主机名”下,我放置了“Ubuntu”,因为我认为这是在设置 VM 时的名称。但是,我只是收到错误消息:“连接超时”。
我还尝试将“127.0.0.1”放入 Putty 中的主机名,然后得到“连接被拒绝”。请注意,我已经在 Oracle VM 中完成了 SSH 和 HTTP 的端口转发,所以我不知道如何让它运行。
mic*_*has 215
VirtualBox 将创建一个私有网络 (10.0.2.x),它将使用NAT连接到您的主机网络。(除非另有配置。)
这意味着您不能从主机网络直接访问私有网络的任何主机。为此,您需要一些端口转发。例如,在 VM 的网络首选项中,您可以将 VirtualBox 配置为在 127.0.1.1(主机的环回地址)上打开端口 22,并将任何流量转发到 10.0.2.1(VM 的内部地址)的端口 22
这样,您可以将 putty 指向 127.0.1.1 的端口 22,VirtualBox 会将此连接重定向到您的虚拟机,在那里它的 ssh 守护程序将回答它,从而允许您登录。
小智 57
我想使用腻子在虚拟机上连接到我的 ubuntu(出于舒适的原因,VB 很奇怪。除非它在正确的终端上,否则我无法工作)。反正,
sudo apt install ssh
。Settings
->
Network
->
上Adapter 1
选择Host-only adapter
-> 单击OK
。ifconfig
; 现在 inet 地址是您的 IP。使用仅主机适配器的唯一缺点是您的来宾操作系统无法访问更广泛的网络(例如 Internet)。
如果您还需要您的 VM 访问 Internet,请将适配器 1 保留为 NAT,并启用配置为 Host-Only 适配器的适配器 2。这将允许您的 VM 使用 NAT 连接到 Internet,并使用 Host-Only 与您的主机建立本地连接。
Rab*_*bin 26
首先,您需要确定您的 VM 是通过桥接连接还是通过 NAT 连接到主机,但通过以太方式,您需要将 VM IP 地址放在 putty 中才能连接到 ip,在 VM 终端运行此命令向您显示机器 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
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我的 IP 地址将减少 10.0.2.15,
首先尝试确保您可以在基本级别上与 VM 通信,在您的主机上打开一个终端窗口,然后尝试 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
Run Code Online (Sandbox Code Playgroud)
如果得到 ant 结果,请确保在 VM 上运行 ssh 服务,在 VM 的终端中以 root 身份输入,
VM # netstat -lnpt | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2361/sshd
Run Code Online (Sandbox Code Playgroud)
这说明我们有一个名为 sshd(OpenSSH 守护进程)的 PID(2361) 服务/进程监听端口 22。
您可以通过尝试从自己的 VM ssh 到该服务来测试该服务是否正常工作,
VM # ssh 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
接下来,您需要确保您没有阻止防火墙/iptables 中的端口 22,我不敢相信,但无论如何都要检查一下。在 VM 中键入此命令以显示 iptables,
VM # iptables -nvL INPUT
Run Code Online (Sandbox Code Playgroud)
在输出中你应该有这样的一行:
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW
Run Code Online (Sandbox Code Playgroud)
小智 17
我的分辨率类似于 Roman T,但是我需要添加一些额外的步骤。就我而言,我在 Windows 2008 域中的 Windows 8 桌面上运行了 Ubuntu Server 14 VM。如果我尝试 NAT 或 Bridge,我可以访问 Internet,但无法通过 SSH 连接。
如果我尝试使用 Host Only Adapter,那么这将允许我通过 SSH 连接到机器但无法访问 Internet。
我也尝试过端口转发,但没有任何乐趣。打开Wireshark,它只是没有找到VM。
所以我的解决方案是添加第二个网络适配器。
关闭虚拟机
启动虚拟机
要查看网络适配器,您需要键入
ifconfig -a
Run Code Online (Sandbox Code Playgroud)您可能会看到网络适配器添加了 mac 地址而不是 IP?
如果是这样,那么您需要编辑 /etc/network/interfaces 以配置 DHCP。下面的示例使用 VI/VIM,但您可以使用您选择的编辑器
sudo vi /etc/network/interfaces
Run Code Online (Sandbox Code Playgroud)添加行
auto eth1
iface eth1 inet dhcp
Run Code Online (Sandbox Code Playgroud)然后尝试使用以下命令重新启动网络服务
sudo service networking restart
Run Code Online (Sandbox Code Playgroud)重新启动后在下面键入以查看您的 eth1 是否已分配 IP 地址
ifconfig -a
Run Code Online (Sandbox Code Playgroud)小智 15
以下说明适用于 Ubuntu 14.04 和 Oracle VirtualBox 4.3.30。
在 VirtualBox 中执行此操作:
右键单击您的虚拟机,选择“设置”,然后选择“网络”。
在“附加到”旁边,选择“仅主机适配器”。附带说明一下,“桥接适配器”也可以使用,请查看 VirtualBox 文档以了解有关每个选项的更多详细信息。
在您的虚拟机中执行此操作:
通过打开终端并键入 来查找您的网络 IP 地址ifconfig
。观察 eth0 旁边显示的 IP 地址,在“inet addr”下。如果您单击桌面右上角的网络图标,然后选择“连接信息”,您还可以看到您的 IP 地址。
通过在终端输入以下内容来安装 openssh-server:
sudo apt-get install openssh-server
Run Code Online (Sandbox Code Playgroud)以防万一,重启虚拟机。
现在,您可以使用上述步骤 1 中的 IP 地址和端口 22 从 PuTTY 进行连接。
对于 Ubuntu 18.04 和 VirtualBox 5.2:
创建主机网络接口
一世。在 Virtualbox 上,单击File
/ Host Network Manager
。
ii. 如果您还没有主机网络适配器(默认vboxnet0
),请单击Create
。
为 VM 启用仅主机适配器设置
一世。在 Virtualbox 上,右键单击您的 VM 并选择Settings
。
ii. 单击Network
并选择Adapter 2
。
三、单击Enable Network Adapter
。
四、在Attached to:
选择下Host-only Adapter
。您在步骤 1 中创建的适配器的名称应该会出现(默认vboxnet0
)。
在 VM 中配置网络设置
一世。启动您的 VM 并检查添加了哪个接口:ip a
. 寻找没有inet
地址的接口。在我的,它是enp0s8
。
ii. 编辑/etc/netplan/01-netcfg.yaml
。例如sudo vi /etc/netplan/01-netcfg.yaml
。
三、在原始适配器的设置下,添加配置详细信息:
enp0s8:
addresses: [192.168.56.2/24]
gateway4: 192.168.56.1
dhcp4: no
Run Code Online (Sandbox Code Playgroud)
这会为您的 VM 分配一个静态 IP 地址,以方便 SSH。如果您想dhcp
改为处理寻址,请忽略地址和网关配置并设置dhcp4
为yes
.
四、重新加载配置文件:sudo netplan apply
.
通过 SSH 连接到您的 VM
一世。如果您尚未ssh
在 VM 中安装:sudo apt install ssh
.
ii. 从您的主机,通过 SSH 连接到 VM:ssh <username>@192.168.56.2
.
归档时间: |
|
查看次数: |
548806 次 |
最近记录: |