ssh

ssh 命令建立一条到指定机器的 SSH 连接。

该命令使用某个指定的 SSH 机密引擎进行身份验证并自动建立与主机的 SSH 连接。该操作需要挂载和配置 SSH 机密引擎。

用户必须在本地安装 ssh —— 该命令将传递正确的参数给它,以提供类似 SSH 的一致体验。

例子

使用一次性密码(One Time Password, OTP)模式(需要安装 sshpass 实现全自动化)

$ vault ssh -mode=otp -role=my-role user@1.2.3.4

使用 CA 模式的 SSH:

$ vault ssh -mode=ca -role=my-role user@1.2.3.4

使用主机密钥验证的 CA 模式的 SSH:

$ vault ssh \
    -mode=ca \
    -role=my-role \
    -host-key-mount-point=host-signer \
    -host-key-hostnames=example.com \
    user@example.com

可用标志

除了全局可用的标准标志以外,也可以配置下列标志:

输出选项

  • -field (string: "") 只打印指定字段的数据。此选项优先级高于其他格式指令。信息的尾部没有换行符,使其适合通过管道与其他进程集成使用。
  • -format (string: "table") —— 以给定格式打印输出。合法的格式有:tablejson 或者 yaml。该标志也可以通过环境变量 VAULT_FORMAT 来设定。

SSH 选项

  • -mode (string: "") - 身份验证模式(例如 cadynamicotp)。
  • -mount-point (string: "ssh/") - SSH 机密引擎的挂载点
  • -no-exec (bool: false) - 只打印生成的凭据,但不建立连接
  • -role (string: "") - 用来生成密钥的角色名
  • -strict-host-key-checking (string: "") - 传递给 SSH 配置选项 "StrictHostKeyChecking" 的值。默认为 ask。也可以通过设置环境变量 VAULT_SSH_STRICT_HOST_KEY_CHECKING 来设置该值
  • -user-known-hosts-file (string: "~/.ssh/known_hosts") - 传递给 SSH 配置选项 "UserKnownHostsFile" 的值。也可以通过设置环境变量 VAULT_SSH_USER_KNOWN_HOSTS_FILE 来设置该值

CA 模式选项

  • -host-key-hostnames (string: "") - 为 CA 委派的主机名列表。默认值允许所有域名和 IP。值为使用逗号分隔的列表。也可以通过设置环境变量 VAULT_SSH_HOST_KEY_HOSTNAMES 来设置该值
  • -host-key-mount-point (string: "") - 签发主机密钥的 SSH 机密引擎的挂载点。如果设定该标志,Vault 将生成一个自定义的 "known_hosts" 文件并委托给指定路径上 CA 证书,使用该 CA 证书验证 SSH 连接的主机密钥。默认情况下,主机密钥通过使用用户的本地"known_hosts" 文件进行验证。此标志强制对密钥执行严格的主机检查并忽略自定义的 "known_hosts" 文件。也可以通过设置环境变量 VAULT_SSH_HOST_KEY_MOUNT_POINT 来设置该值
  • -private-key-path (string: "~/.ssh/id_rsa") - 用以执行身份验证的 SSH 私钥文件的路径。该标志必须使用 -public-key-path 指定的公钥对应的私钥文件
  • -public-key-path (string: "~/.ssh/id_rsa.pub") - 发往 Vault 用以签名的 SSH 公钥文件的地址

results matching ""

    No results matching ""