Vagrant 手册之 Vagrantfile
原文地址
配置的命名空間:config.ssh
config.ssh 中的設置與配置 Vagrant 如何通過 SSH 訪問您的計算機相關。 大多數 Vagrant 設置一樣,一般使用默認設置即可,但也可以根據自己的喜好進行微調。
1. 可用的設置項
config.ssh.username
設置 Vagrant 默認使用的 SSH 用戶名。如果 provider 檢測到更合適的用戶,則可以自由覆蓋此內容。默認情況下,這是“vagrant”,因為這是大多數公共 box 使用的用戶名。
config.ssh.password
設置用于認證 Vagrant 的 SSH 用戶的密碼。建議使用基于密鑰的認證(參考 private_key_path),而不是密碼。如果使用密碼,如果 insert_key 為 true 的話 Vagrant 會自動插入到密鑰對。
config.ssh.host
要用 SSH 連接到的主機名或 IP 地址。默認為空,因為 provider 通常會自動找出。
config.ssh.port
要用 SSH 連接到的端口。默認是 22。
config.ssh.guest_port
The port on the guest that SSH is running on. This is used by some providers to detect forwarded ports for SSH. For example, if this is set to 22 (the default), and Vagrant detects a forwarded port to port 22 on the guest from port 4567 on the host, Vagrant will attempt to use port 4567 to talk to the guest if there is no other option.
客戶端上運行 SSH 的端口。這被一些 provider 用來檢測轉發的 SSH 端口。例如,如果設置為 22(默認值),并且 Vagrant 從主機上的端口 4567 檢測到客戶機端口 22 的轉發端口,則 Vagrant 將嘗試使用端口 4567 與客戶機進行對話(如果沒有其他端口) 選項。
config.ssh.private_key_path
用于通過 SSH 訪問客戶機的私鑰路徑。默認情況下,這是隨 Vagrant 一起提供的不安全私鑰,因為這是公共 box 使用的私鑰。如果你使用自定義 SSH 密鑰創建自己的自定義 box,則應該指向該私鑰。
也可以通過將其設置為數組來指定多個私鑰。例如,如果使用默認私鑰來引導機器,但稍后用更安全的密鑰替換它,則這很有用。
config.ssh.keys_only
只使用 Vagrant 提供的 SSH 私鑰(不使用任何存儲在 ssh 代理的私鑰)。默認是 true。
config.ssh.verify_host_key
執行嚴格的主機密鑰驗證。默認值是 false。
config.ssh.paranoid
執行嚴格的主機密鑰驗證。默認值是 false。
棄用 config.ssh.paranoid 選項已棄用,將在未來版本中刪除。請改用 config.ssh.verify_host_key 選項。
config.ssh.forward_agent
如果為 true,則通過 SSH 連接進行代理轉發。默認為 false。
config.ssh.forward_x11
如果為 true,則啟用通過 SSH 連接進行的 X11 轉發。默認為 false。
config.ssh.forward_env
要轉發給客戶機的主機環境變量數組。如果你熟悉 OpenSSH,會發現這對應于 SendEnv 參數。
config.ssh.forward_env = ["CUSTOM_VAR"]
config.ssh.insert_key
如果為 true,Vagrant 會自動插入一個用于 SSH 的密鑰對,如果檢測到機器內部的 Vagrant 默認不安全密鑰,則替換。默認情況下是 true。
如果尚未使用私鑰進行身份驗證,或者依賴于默認的不安全密鑰,該設置才會起作用。如果你不需要關心項目中的安全性,并且希望繼續使用默認的不安全密鑰,請將其設置為 false。
config.ssh.proxy_command
用于執行的命令行命令,用于接收要在 stdin 上發送到 SSH 的數據。這可以用來代理 SSH 連接。命令中的 %h 被主機替換,%p 被替換為端口。
config.ssh.pty
如果為 true,則 pty 將用于 provisioning。默認為 false。
此設置是一項高級功能,除非絕對必要,否則不應啟用。它打破了 Vagrant 的一些其他功能,并且僅在絕對必要的情況下才會暴露。如果你可以找到一種不使用 pty 的方法,那就推薦使用。
當啟用 pty 時,請注意命令輸出不會流式傳輸到 UI。相反,一旦命令完成,輸出將全部傳送到 UI。
config.ssh.keep_alive
如果為 true,SSH 將會默認每 5 秒鐘發送一個 keep-alive 包來保持連接的有效性。
config.ssh.shell
從 Vagrant 執行 SSH 命令時要使用的 shell。默認是 bash -l。注意這對運行 vagrant ssh 時獲得的 shell 沒有影響。此配置選項僅影響在 Vagrant 內部執行命令時使用的 shell。
config.ssh.export_command_template
用于在活動會話中生成導出的環境變量的模板。這在使用不兼容 Bourne 的 shell 如 C shell 時非常有用。該模板支持將兩個變量替換為所需的環境變量鍵和環境變量值:%ENV_KEY% 和 %ENV_VALUE%。默認模板是:
config.ssh.export_command_template = 'export %ENV_KEY%="%ENV_VALUE%"'
config.ssh.sudo_command
使用 sudo 執行命令時使用的命令。默認為 sudo -E -H %c。%c 將被正在執行的命令替換。
config.ssh.compression
如果設置為 false,則此設置將不包括 ssh 進入機器時的壓縮設置。如果沒有設置,它將默認為 true,將使用 ssh 啟用 Compression = yes。
config.ssh.dsa_authentication
如果設置為 false,則此設置在 ssh 登錄到計算機時將不包括 DSAAuthentication。如果未設置,則默認為 true,將與 ssh 一起使用 DSAAuthentication=yes。
config.ssh.extra_args
This settings value is passed directly into the ssh executable. This allows you to pass any arbitrary commands to do things such as reverse tunneling down into the ssh program. These options can either be single flags set as strings such as “-6” for IPV6 or an array of arguments such as [“-L”, “8008:localhost:80”] for enabling a tunnel from host port 8008 to port 80 on guest.
這個設置值直接傳遞到 ssh 可執行文件中。這使你可以傳遞任何命令來執行諸如反向隧道切入 ssh 程序之類的任務。這些選項可以是將單個標志設置為字符串,例如“-6”表示 IPV6,或 [“-L”,“8008:localhost:80”] 這樣的參數數組,以啟用從主機端口 8008 到客戶機的端口 80 的隧道。
總結
以上是生活随笔為你收集整理的Vagrant 手册之 Vagrantfile的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言中的弱符号(weak)用法及实例
- 下一篇: 荔枝蘸酱油不上火是真的吗