Vagrant Connect

vagrant可以共享到vagrant环境的任何或每个端口,而不仅仅是SSH和HTTP。“vagrant connect”命令为连接人员提供一个静态IP,他们可以使用该IP与共享的vagrant环境通信。发送到此IP的任何TCP流量都被发送到共享的vagrant环境。

1.Usage

即调用vagrant share --full命令

这将自动为远程连接共享尽可能多的端口。更多信息请查看 the Vagrant share security page页面。

注意在调用vagrant share --full命令末尾的共享名字,并将其提供给希望连接到你的机器的人。他们只需要简单地调用vagrant connect NAME命令即可(和上一篇ssh的连接方法一样)。这将给他们一个静态IP,他们可以使用它来访问你的vagrant环境。

userdeMacBook-Pro:~ user$ vagrant share --full --http
Vagrant Share now defaults to using the `ngrok` driver.
The `classic` driver has been deprecated. For more information about the `ngrok` driver, please
refer to the documentation: https://www.vagrantup.com/docs/share/ ==> default: Detecting network information for machine...
default: Local machine address: 127.0.0.1
default:
default: Note: With the local address (127.0.0.1), Vagrant Share can only
default: share any ports you have forwarded. Assign an IP or address to your
default: machine to expose all TCP ports. Consult the documentation
default: for your provider ('virtualbox') for more information.
default:
default: Local HTTP port:
default: Local HTTPS port: disabled
default: Port:
==> default: Creating Vagrant Share session...
share: Importing base box 'hashicorp/vagrant-share'...
share: Matching MAC address for NAT networking...
share: Setting the name of the VM: share-fe65ef45-f050-4cc9-98ba-bd19ec32d8e0
share: Fixed port collision for => . Now on port .
share: Vagrant has detected a configuration issue which exposes a
share: vulnerability with the installed version of VirtualBox. The
share: current guest is configured to use an E1000 NIC type for a
share: network adapter which is vulnerable in this version of VirtualBox.
share: Ensure the guest is trusted to use this configuration or update
share: the NIC type using one of the methods below:
share:
share: https://www.vagrantup.com/docs/virtualbox/configuration.html#default-nic-type
share: https://www.vagrantup.com/docs/virtualbox/networking.html#virtualbox-nic-type
share: Clearing any previously set network interfaces...
share: Preparing network interfaces based on configuration...
share: Adapter : nat
share: Forwarding ports...
share: (guest) => (host) (adapter )
share: (guest) => (host) (adapter )
share: Running 'pre-boot' VM customizations...
share: Booting VM...
share: Waiting for machine to boot. This may take a few minutes...
share: SSH address: 127.0.0.1:
share: SSH username: tc
share: SSH auth method: password
share:
share: Inserting generated public key within guest...
share: Removing insecure key from the guest if it's present...
share: Key inserted! Disconnecting and reconnecting using new SSH key...
share: Machine booted and ready!
==> share:
==> share: Your Vagrant Share is running! Name: budget_hello:agenda_design
==> share:
==> share: You're sharing full access to your Vagrant machine. This means that
==> share: another user can have access to your Vagrant machine by running:
==> share:
==> share: vagrant connect budget_hello:agenda_design
==> share:
==> share: HTTP URL: http://5fd8f0d7.ngrok.io
==> share:
==> share:
==> share: Your Vagrant Share is running! Name: budget_hello:agenda_design
==> share:
==> share: You're sharing full access to your Vagrant machine. This means that
==> share: another user can have access to your Vagrant machine by running:
==> share:
==> share: vagrant connect budget_hello:agenda_design
==> share:
==> share: HTTP URL: http://5fd8f0d7.ngrok.io
==> share:

相应虚拟机也已经打开:

2.How does it work?

vagrant connect的运行是通过做vagrant最擅长的事情:管理虚拟机来实现的。vagrant connect使用VirtualBox或VMware(更多的提供者支持即将到来)创建了一个只占用20 MB内存的小型虚拟机。

然后,发送到这个小型虚拟机的任何流量都被代理到共享的vagrant环境,就好像它被定向到这个环境一样。

$vagrant connect budget_hello:agenda_design

3.Beware: Vagrant Insecure Key

如果你正在使用的vagrant环境或box是受到vagrant不安全密钥对(大多数公共box都是)的保护,那么连接到SSH的任何人都可以轻松地使用SSH。

虽然你希望与你信任的人共享,但在某些环境中,你可能与类或conference共享,并且不希望它们能够SSH进入。
在这种情况下,我们建议从vagrant计算机中更改或删除不安全的密钥。

最后,我们要注意,我们正在努力使之在使用vagrant share时,除非显式允许,否则vagrant私钥将被主动拒绝。但是,这个特性还没有完成。

virtualbox+vagrant学习-3-Vagrant Share-4-Vagrant Connect的更多相关文章

  1. virtualbox+vagrant学习-2(command cli)-26-vagrant share命令

    Share share命令初始化了一个vagrant share会话,允许你与世界上任何一个人共享vagrant环境,允许在几乎任何网络环境中直接在vagrant环境中进行协作. 你可以在本博客的vi ...

  2. virtualbox+vagrant学习-1-环境安装及vagrantfile的简单配置-Mac系统

    在学习docker-machine时,发现需要使用到虚拟化平台,所以选择了使用virtualBox. 然后后面发现需要使用vagrant来在mac系统中作为虚拟机管理软件,所以下面将会简述我自己学习使 ...

  3. virtualbox+vagrant学习-3-Vagrant Share-2-HTTP Sharing

    HTTP Sharing Vagrant Share可以创建一个可公开访问的URL端点来访问在Vagrant环境中运行的HTTP服务器.这被称为“HTTP共享”,在使用Vagrant Share时默认 ...

  4. virtualbox+vagrant学习-3-Vagrant Share-3-SSH Sharing

    SSH Sharing vagrant share通过向vagrant share提供--SSH标志,使远程SSH访问vagrant环境变得非常容易. 如果你想让同事访问你的SSH,以便对ops问题进 ...

  5. virtualbox+vagrant学习-3-Vagrant Share-1-简介

    Vagrant Share 通过 ngrok 内网穿透功能实现让全世界人可以访问虚拟机的服务 Vagrant Share允许你与世界上的任何人共享您的Vagrant环境,几乎支持你在任何网络环境中使用 ...

  6. virtualbox+vagrant学习-2(command cli)-7-vagrant login命令

    Login ⚠️该命令已经弃用了,别名为vagrant cloud auth login.看本博客的 格式: vagrant cloud auth login [options] 登录命令用于使用Ha ...

  7. virtualbox+vagrant学习-2(command cli)-24-Aliases别名

    Aliases 别名的部分灵感来自Git自身的别名功能,它允许你创建自己的定制vagrant命令,从而使你的vagrant体验更简单.更容易.更熟悉. 别名可以在VAGRANT_HOME/ alias ...

  8. virtualbox+vagrant学习-5-Boxes-1-简介

    Boxes boxes是vagrant环境的包格式.在vagrant支持的任何平台上,任何人都可以使用一个box来创建一个相同的工作环境.vagrant box实用程序提供了管理boxes的所有功能. ...

  9. virtualbox+vagrant学习-2(command cli)-1-vagrant box命令

    vagrant box 这是用于管理(添加.删除等)boxes的命令. box 是一个打包好的操作系统,是一个后缀名为 .box 的文件,其实是一个压缩包,里面包含了 Vagrant 的配置信息和 V ...

随机推荐

  1. maven-shade-plugin 打包出错

    一般maven-shade-plugin 打包出错的原因都是因为jar包出错,一般使用mvn package -X 即可找出对应错误的jar包删除即可.我自己遇到的是打开自己打包完的jar包出错,整的 ...

  2. centos7安装 ftp 组件与开放防火墙端口命令

    Linux 安装 ftp 组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是 vsftp 的配置文件. 1.执行 yum -y install vsftpd 2. 添加一个 f ...

  3. 中小型研发团队架构实践九:任务调度Job

    一.Job 简介 Job 类似于数据库中的作业,多用于实现定时执行任务.适用场景主要包括定时轮询数据库同步.定时处理数据.定时邮件通知等. 我们的 Job 分为操作系统级别定时任务 WinJob 和 ...

  4. python 函数私有方法

    #coding:utf-8 class A(object): def _test1(self): print('this is _test1') def test2(self): print('thi ...

  5. PHP 抽象类实现接口注意事项(含PHP与.Net的区别)

    最近在学习Drupal8,看到源码里面一个抽象类BlockBase实现了一个接口BlockPluginInterface,但是并没有实现该接口的所有方法.然后我就不淡定了,因为之前是做.NET的,记忆 ...

  6. js下载文件

    本文的前提是:后台给的是一个可以下载的url的情况下的下载: 怎样的文件url才能触发浏览器的下载行为?(转自SF) 能触发浏览器下载的url有两类: response header中指定了Conte ...

  7. android studio *.apk does not exist on disk

    Build -> Clean Project Restart Android Studio  

  8. 安装部署OpenPAI + VSCode 提交

    ========================================================== 安装openpai请参考这篇 https://www.cnblogs.com/ji ...

  9. intent调用代码总结

    进入联系人界面 Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(People.CO ...

  10. MYSQL 5.7 sqlmode 行为

    最近碰到了sql_mode 的一些问题,故进行了研究,根据实际情况研究其行为. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ER ...