【问题标题】:Cannot do Vagrant ssh after Vagrant up on windows Machine在 Windows 机器上 Vagrant 启动后无法执行 Vagrant ssh
【发布时间】:2017-09-18 04:18:40
【问题描述】:

我正在构建一个示例 vagrant box 来安装 Jenkins 并将其推送到 atlas 云。请在下面找到我遵循的步骤。

Vagrant init ubuntu/trusty64

以及初始化 vagrant 机器的正常命令。

vagrant up

之后,如果我输入命令以 ssh 进入机器 vagrant ssh

它给了我一个错误,说请增加超时等等。

主要问题是如何通过 ssh 进入新创建的 vagrant 机器。

【问题讨论】:

    标签: ssh vagrant virtualbox


    【解决方案1】:

    要理解这一点,我必须了解所有基础知识。请在下面找到我的发现。

    未附加

    在这种模式下,VirtualBox 向来宾报告存在网卡,但没有连接 - 好像没有 以太网电缆已插入卡中。通过这种方式,可以“拉动”虚拟以太网电缆并中断连接,这有助于通知客户操作系统没有可用的网络连接并强制重新配置。

    网络地址转换 (NAT)

    如果您只想在访客中浏览网页、下载文件和查看电子邮件,那么这 默认模式对您来说应该足够了,您可以放心地跳过本节的其余部分。请注意,使用 Windows 文件共享时存在一定的限制(有关详细信息,请参阅第 6.3.3 节“NAT 限制”)。

    NAT 网络

    NAT 网络是 VirtualBox 最新版本中引入的一种新的 NAT 风格。

    桥接网络

    这是为了满足更高级的网络需求,例如网络模拟和运行服务器 在客人。启用后,VirtualBox 会连接到您安装的一张网卡并直接交换网络数据包,从而绕过主机操作系统的网络堆栈。

    内部网络

    这可用于创建不同类型的基于软件的网络,该网络对选定的虚拟机可见,但对主机上运行的应用程序或外部世界不可见。

    仅主机网络

    这可以用来创建一个包含主机和一组虚拟机的网络,而不需要主机的物理网络接口。而是在主机上创建一个虚拟网络接口(类似于环回接口),提供虚拟机和主机之间的连接。

    通用网络

    很少使用的模式共享相同的通用网络接口,允许用户选择可以包含在 VirtualBox 中或在扩展包中分发的驱动程序。

    目前可能有两种可用的子模式:

    UDP 隧道 这可用于通过现有网络基础架构直接、轻松、透明地互连不同主机上运行的虚拟机。

    VDE(虚拟分布式以太网)网络 此选项可用于连接到 Linux 或 FreeBSD 主机上的虚拟分布式以太网交换机。目前这需要从源代码编译 VirtualBox,因为 Oracle 包不包含它。

    其中,只有 NAT 和 Host-only 网络很重要。所以,为了解决这个问题,我用以下代码修改了预定义的 Vagrant 文件。

    jenkins.vm.provider "virtualbox" do |vb|
      jenkins.vm.network "private_network",ip:'192.168.56.5',:adapter => 2
      jenkins.vm.hostname = 'jenkins.ci'
      vb.name = "Jenkins"
    end
    

    在这里,我创建了一个具有静态 IP 的专用网络,并且我指定了使用 2 的适配器数。专用适配器是仅主机适配器,第一个适配器是默认的 NAT。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-12
      • 2014-03-03
      • 1970-01-01
      • 2014-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-16
      相关资源
      最近更新 更多