Vagrant 手册之 Vagrantfile - SSH 设置 config.ssh

原文地址html

配置的命名空间:config.sshweb

config.ssh 中的设置与配置 Vagrant 如何经过 SSH 访问您的计算机相关。 大多数 Vagrant 设置同样,通常使用默认设置便可,但也能够根据本身的喜爱进行微调。shell

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 一般会自动找出。bash

config.ssh.port

要用 SSH 链接到的端口。默认是 22。ssh

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 与客户机进行对话(若是没有其余端口) 选项。ide

config.ssh.private_key_path

用于经过 SSH 访问客户机的私钥路径。默认状况下,这是随 Vagrant 一块儿提供的不安全私钥,由于这是公共 box 使用的私钥。若是你使用自定义 SSH 密钥建立本身的自定义 box,则应该指向该私钥。svg

也能够经过将其设置为数组来指定多个私钥。例如,若是使用默认私钥来引导机器,但稍后用更安全的密钥替换它,则这颇有用。this

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 的隧道。

相关文章
相关标签/搜索