【发布时间】:2021-05-13 02:21:46
【问题描述】:
我了解,当运行带有公钥身份验证的 SSH 命令时,客户端将尝试它知道的所有 SSH 密钥,直到主机接受一个 (https://security.stackexchange.com/questions/182804/how-does-ssh-know-which-public-key-to-use-from-authorized-keys)。
当使用 SSH 在主机上运行 Ansible 命令时,似乎没有此功能:Ansible 需要在 ansible.cfg 中明确指定 SSH 私钥文件:
private_key_file = /user/.ssh/id_rsa_mykey
在我的用例中,Ansible 在 Lando 上的 docker 容器中运行。所有 SSH 密钥都从用户的 ssh 配置目录导入到容器中的已知路径。但是,我不一定知道 Ansible 所需的名称,因为这是个人用户配置的内容。
有没有办法让 Ansible 发出的 SSH 命令尝试多个密钥,就像 SSH 设计的那样?
【问题讨论】: