我已经设置了Ubuntu服务器的虚拟机,已经安装了OpenSSH,现在正尝试使用Putty连接到它。在Putty中,在“主机名”下,放置“ Ubuntu”,因为这是我在设置VM时认为的名称。但是,我只是收到错误:“连接超时”。
我还尝试将“ 127.0.0.1”放入Putty中的主机名中,并仅获得“ Connection Refused”。请注意,我已经在Oracle VM中完成了SSH和HTTP的端口转发,因此我对如何使其运行感到困惑。
我已经设置了Ubuntu服务器的虚拟机,已经安装了OpenSSH,现在正尝试使用Putty连接到它。在Putty中,在“主机名”下,放置“ Ubuntu”,因为这是我在设置VM时认为的名称。但是,我只是收到错误:“连接超时”。
我还尝试将“ 127.0.0.1”放入Putty中的主机名中,并仅获得“ Connection Refused”。请注意,我已经在Oracle VM中完成了SSH和HTTP的端口转发,因此我对如何使其运行感到困惑。
Answers:
VirtualBox将创建一个专用网络(10.0.2.x),该网络将使用NAT连接到您的主机网络。(除非另有配置。)
这意味着您不能直接从主机网络访问专用网络的任何主机。为此,您需要一些端口转发。例如,在VM的网络首选项中,可以将VirtualBox配置为打开127.0.1.1(主机的回送地址)上的端口22,并将所有流量转发到10.0.2.1的端口22(VM的内部地址)。
这样,您可以将腻子指向127.0.1.1的端口22,VirtualBox会将此连接重定向到您的VM,在该处其ssh守护程序将对其进行应答,从而允许您登录。
ssh username@127.0.1.1
进入。您需要的面板是“设置”->“网络”->“端口转发”,现在我的面板如下所示:imgur.com/BjGh3N2
ssh -p 2222 user@127.0.0.1
我想用油灰在虚拟盒子上连接到我的ubuntu(出于舒适原因,VB太奇怪了。除非它在正确的终端上,否则我将无法工作)。无论如何,
sudo apt install ssh
。Settings
->
Network
->
上,Adapter 1
选择Host-only adapter
-> click OK
。ifconfig
; 现在,inet地址就是您的IP。使用仅主机适配器的唯一缺点是您的来宾操作系统将无法访问更广泛的网络(例如Internet)。
如果还需要您的VM可以访问Internet,请将适配器1保留为NAT,并启用配置为仅主机适配器的适配器2。这样一来,您的VM可以使用NAT连接到Internet,也可以使用仅主机(Host-Only)连接到主机。
NAT
为host only adapter
它不能再连接到互联网时,有什么解决方案吗?
首先,您需要确定您的VM是通过网桥连接还是通过NAT连接到主机,但是以太方式,您需要将VM IP地址放入腻子才能连接到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
在这种情况下,我的IP地址将为10.0.2.15,
首先尝试确保可以与VM进行基本通信,在主机上打开终端窗口,然后尝试ping VM
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
如果得到结果,请确保在VM上以root用户身份在VM的终端上运行ssh服务,
VM # netstat -lnpt | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2361/sshd
这说明我们拥有一个名为sshd(OpenSSH守护程序)的PID(2361)服务/进程,监听端口22。
您可以通过尝试从自身的VM 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
connection timed out
再次遇到错误。我也试过nvL
你提到的命令,并获得的负载(由于缺乏一个更好的词)的东西- Chain INPUT (policy accept......
,chain FORWARD.....
等等
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
如果在iptables中看不到tcp,将允许传入流量。
我的分辨率与Roman T相似,但是我需要增加一些额外的步骤。就我而言,我在Windows 2008域中的Windows 8桌面上运行Ubuntu Server 14 VM。如果尝试NAT或Bridge,则可以访问Internet,但无法通过SSH连接。
如果我尝试了“仅主机适配器”,那将允许我使用SSH进行计算机连接,但无法访问Internet。
我也尝试了端口转发,没有任何乐趣。打开Wireshark并没有找到VM。
因此,我的解决方案是添加第二个网络适配器。
关闭虚拟机电源
启动虚拟机
为了查看网络适配器,您需要输入
ifconfig -a
您可能会看到网络适配器添加了mac地址,但没有IP?
如果是这样,那么您需要编辑/ etc / network / interfaces以配置DHCP。下面的示例使用VI / VIM,但您可以使用自己选择的编辑器
sudo vi /etc/network/interfaces
添加行
auto eth1
iface eth1 inet dhcp
然后尝试使用以下命令重新启动网络服务
sudo service networking restart
重新启动后,在下面键入以下内容以查看是否已为eth1分配IP地址
ifconfig -a
以下说明适用于Ubuntu 14.04和Oracle VirtualBox 4.3.30。
在VirtualBox中执行以下操作:
右键单击您的虚拟机,选择“设置”,然后选择“网络”。
在“附加到”旁边,选择“仅主机适配器”。另外,“桥接适配器”也可以使用,请查看VirtualBox文档以获取有关每个选项的更多详细信息。
在您的虚拟机中执行此操作:
通过打开终端并键入来找到您的网络IP地址ifconfig
。观察“ inet addr”下eth0旁边显示的IP地址。如果您单击桌面右上角的“网络”图标,然后选择“连接信息”,也可以看到IP地址。
通过在终端上键入以下命令来安装openssh-server:
sudo apt-get install openssh-server
以防万一,请重新启动虚拟机。
现在您可以使用上面步骤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
。
iii。点击Enable Network Adapter
。
iv。在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
。
iii。在原始适配器的设置下,添加配置详细信息:
enp0s8:
addresses: [192.168.56.2/24]
gateway4: 192.168.56.1
dhcp4: no
为了方便SSH,这将为您的VM分配一个静态IP地址。如果您要dhcp
处理寻址,请省略地址和网关配置,并设置dhcp4
为yes
。
iv。重新加载配置文件:sudo netplan apply
。
SSH到您的VM
一世。如果尚未ssh
在VM中安装:sudo apt install ssh
。
ii。在主机上,SSH进入VM :ssh <username>@192.168.56.2
。