virtualbox+vagrant学习-4-Vagrantfile-6-SSH Settings

SSH Settings

配置命名空间:config.sshhtml

config.ssh的设置涉及到将如何配置vagrant使其经过ssh访问你的计算机。与大多数vagrant设置同样,默认设置一般都很好,可是你能够根据须要进行微调。shell


Available Settings可用设置

  • 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链接的端口,默认为22
  • config.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的隧道。
相关文章
相关标签/搜索