vagrant能够共享到vagrant环境的任何或每一个端口,而不单单是SSH和HTTP。“vagrant connect”命令为链接人员提供一个静态IP,他们可使用该IP与共享的vagrant环境通讯。发送到此IP的任何TCP流量都被发送到共享的vagrant环境。html
即调用vagrant share --full命令安全
这将自动为远程链接共享尽量多的端口。更多信息请查看 the Vagrant share security page页面。session
注意在调用vagrant share --full命令末尾的共享名字,并将其提供给但愿链接到你的机器的人。他们只须要简单地调用vagrant connect NAME命令便可(和上一篇ssh的链接方法同样)。这将给他们一个静态IP,他们可使用它来访问你的vagrant环境。ssh
userdeMacBook-Pro:~ user$ vagrant share --full --http 80 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: 80 default: Local HTTPS port: disabled default: Port: 2222 ==> 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 22 => 2222. Now on port 2200. 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 1: nat share: Forwarding ports... share: 31338 (guest) => 65535 (host) (adapter 1) share: 22 (guest) => 2200 (host) (adapter 1) 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:2200 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:
相应虚拟机也已经打开:ide
vagrant connect的运行是经过作vagrant最擅长的事情:管理虚拟机来实现的。vagrant connect使用VirtualBox或VMware(更多的提供者支持即将到来)建立了一个只占用20 MB内存的小型虚拟机。this
而后,发送到这个小型虚拟机的任何流量都被代理到共享的vagrant环境,就好像它被定向到这个环境同样。spa
$vagrant connect budget_hello:agenda_design
若是你正在使用的vagrant环境或box是受到vagrant不安全密钥对(大多数公共box都是)的保护,那么链接到SSH的任何人均可以轻松地使用SSH。vagrant
虽然你但愿与你信任的人共享,但在某些环境中,你可能与类或conference共享,而且不但愿它们可以SSH进入。
在这种状况下,咱们建议从vagrant计算机中更改或删除不安全的密钥。代理
最后,咱们要注意,咱们正在努力使之在使用vagrant share时,除非显式容许,不然vagrant私钥将被主动拒绝。可是,这个特性尚未完成。code