首页 > 解决方案 > 如何在ansible中检测是否与SSH密钥连接

问题描述

在运行 ansible playbook 时,我想锁定 SSH 配置以禁止密码登录,但前提是使用 SSH 密钥连接到机器。

这样我可以:

  1. 运行剧本,提供密码。这将设置用户的 SSH 公钥。
  2. 再次运行 playbook,使用 SSH 密钥连接(验证设置公钥是否成功)。这将禁用机器上的密码登录。

我以前在做类似的事情

- name: copy secure ssh config over
  copy:
    src: sshd_config
    dest: /etc/ssh/sshd_config
  when: ansible_user_id != 'root'

但是我正在迁移到默认情况下root无法登录的发行版,因此我将手动创建我的帐户,然后将ansible与该新帐户一起使用。

我查看了连接变量,但它们似乎都没有做我想要的。

标签: ansible

解决方案


推荐阅读