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