ansible - 如何在ansible中检测是否与SSH密钥连接
问题描述
在运行 ansible playbook 时,我想锁定 SSH 配置以禁止密码登录,但前提是使用 SSH 密钥连接到机器。
这样我可以:
- 运行剧本,提供密码。这将设置用户的 SSH 公钥。
- 再次运行 playbook,使用 SSH 密钥连接(验证设置公钥是否成功)。这将禁用机器上的密码登录。
我以前在做类似的事情
- name: copy secure ssh config over
copy:
src: sshd_config
dest: /etc/ssh/sshd_config
when: ansible_user_id != 'root'
但是我正在迁移到默认情况下root无法登录的发行版,因此我将手动创建我的帐户,然后将ansible与该新帐户一起使用。
我查看了连接变量,但它们似乎都没有做我想要的。
解决方案
推荐阅读
- python - Adfuller & KPSS 等价 Python vs R
- android - 小米 Miui 上的 Android 12 启动画面
- jenkins - Jenkins Pipeline - 在循环内并行触发作业
- javascript - 如何在 React 中单击时删除项目
- c - 代码覆盖率显示 Visual Studio 2019 未覆盖的一行
- machine-learning - 无需深度学习或机器学习的图像处理
- python - Python 中的 SQL 查询 - 在 SQL 查询中插入来自 Python 的值
- ios - 在 x 方向平移的 HighCharts 不起作用
- python - Power BI 视觉对象在工作区或 powerapp 中不起作用。修复可能是什么?
- webforms - 从站点核心链接重定向用户