配置命名空間:config.ssh
html
config.ssh的設置涉及到將如何配置vagrant使其經過ssh訪問你的計算機。與大多數vagrant設置同樣,默認設置一般都很好,可是你能夠根據須要進行微調。shell
config.ssh.username
(string) :這將設置Vagrant將SSH設置爲默認的用戶名。若是Providers檢測到更合適的用戶,它們能夠自由地重寫該命令。默認狀況下,該值爲「vagrant」,由於大多數公共boxes都是這樣作的。config.ssh.password
(string) :這將設置vagrant將用於驗證SSH用戶身份的密碼。注意,Vagrant建議你使用基於鍵的身份驗證,而不是基於密碼的(請參閱下面的private_key_path)。若是使用密碼,當insert_key爲true時,vagrant將自動插入一個密鑰對。config.ssh.host
(string):SSH要進入的主機名或IP。默認狀況下,這是空的,由於Providers一般會爲你解決這個問題。config.ssh.port
(integer) :SSH鏈接的端口,默認爲22config.ssh.guest_port
(integer) :SSH正在運行的客戶機上的端口。一些Providers使用它來檢測SSH的轉發端口。例如,若是將其設置爲22(默認),而且Vagrant從主機上的4567端口檢測到一個鏈接到客戶端上22端口的轉發端口,若是沒有其餘選擇,Vagrant將嘗試使用主機的4567端口與客戶進行對話。config.ssh.private_key_path
(string, array of strings):指向用於SSH鏈接到客戶機器的私鑰的路徑。默認狀況下,這是一個不安全的私鑰,與vagrant一塊兒運輸,由於這是公共boxes使用的。若是你使用自定義SSH密鑰建立本身的自定義box,則應該指向該私鑰。你還能夠經過將其設置爲數組來指定多個私鑰。例如,若是你使用默認私鑰來啓動機器時,這頗有用。可是稍後可能會用更安全的密鑰替換它。config.ssh.keys_only
(boolean) :只使用vagrant提供的SSH私鑰(不要使用存儲在SSH代理中的任何密鑰)。默認值爲true。config.ssh.verify_host_key
(string, symbol) :執行嚴格的主機密鑰驗證。默認值是:never。config.ssh.paranoid
(boolean) :執行嚴格的主機密鑰驗證。默認值爲false。 ⚠️config.ssh.paranoid
方法已經被棄用,並將在將來的版本中刪除。請使用config.ssh.verify_host_key
方法替代它。數組
config.ssh.forward_agent
(boolean) :若是爲true,則啓用SSH鏈接上的代理轉發。默認值爲false。config.ssh.forward_x11
(boolean):若是爲true,則啓用經過SSH鏈接的X11轉發。默認值爲false。config.ssh.forward_env
(array of strings):要轉發給客戶機的主機環境變量數組。若是你熟悉OpenSSH,那麼這對應於SendEnv參數。config.ssh.forward_env = ["CUSTOM_VAR"]
config.ssh.insert_key
(boolean):若是爲true,Vagrant將自動插入一個密鑰對用於SSH,若是檢測到該密鑰,則替換vagrant的默認密鑰。默認狀況下爲true只有當你尚未使用私鑰進行身份驗證或者依賴於默認的不安全密鑰時,這纔會產生效果。若是你不須要關心項目中的安全性,而且但願繼續使用默認的不安全密鑰,則將其設置爲false。安全
config.ssh.proxy_command
(string):執行的命令行命令,該命令從stdin上接收要發送到的SSH的數據。這能夠用來代理SSH鏈接。命令中的%h被替換爲主機名,%p被替換爲端口號。config.ssh.pty
(boolean) :若是爲true,pty將用於provisioning。默認值爲false。這個設置是一個高級特性,除非絕對必要,不然不該該啓用它。它打破了vagrant的一些其餘特徵,實際上只在絕對必要的狀況下才會暴露出來。若是你能找到一種不使用pty的方法,那麼建議你這樣作。啓用pty時,必須注意命令輸出不會流到UI中。一旦命令完成時,輸出將徹底交付給UI。bash
config.ssh.keep_alive
(boolean) :若是爲true,這個設置SSH默認狀況下每5秒發送一個keep-alive包,以保持鏈接的活力。config.ssh.shell
(string) :從vagrant執行SSH命令時使用的shell。默認狀況下,這是bash -l。注意,這對運行vagrant ssh時得到的shell沒有影響。此配置選項僅影響在vagrant內部執行命令時使用的shell。config.ssh.export_command_template
(string):用於在活躍會話中生成導出環境變量的模板。當使用與Bourne不兼容的shell(如C shell)時,這一點很是有用。該模板支持兩個變量,這兩個變量被替換爲所需的環境變量鍵和環境變量值:%ENV_KEY%和%ENV_VALUE%。默認模板爲:config.ssh.export_command_template = 'export %ENV_KEY%="%ENV_VALUE%"'
config.ssh.sudo_command
(string) :使用sudo執行命令時使用的命令。這個默認值是sudo -E -H %c。%c將被正在執行的命令替換。config.ssh.compression
(boolean) :若是爲false,此設置將不包括ssh進入機器時的壓縮設置。若是沒有設置,它將默認爲true, ssh將啓用Compression=yes。config.ssh.dsa_authentication
(boolean) :若是爲false,此設置將不包括ssh進入機器時的DSAAuthentication值。若是沒有設置這個值,它將默認爲true, DSAAuthentication=yes將與ssh一塊兒使用。config.ssh.extra_args
(array of strings) :這個設置值將直接傳遞到ssh可執行文件中。這容許你傳遞任意命令來執行諸如反向隧道穿到ssh程序中的操做。這些選項能夠是單個標記設置爲字符串,如IPV6的「-6」,也能夠是參數數組,如[「-L」、「8008:localhost:80」],用於在guest上啓用從主機端口8008到端口80的隧道。