首页 > 解决方案 > 使用无密码 root ssh 的 Redhat 自动化操作

问题描述

我有几个需要在服务器网络上执行的操作。
对于这些操作,我有两个选择:
手动,这将需要很多努力,并且可能我需要在不同的网络上一遍又一遍地执行此操作。
自动,使用 ssh 连接时不允许密码提示的脚本或 ansible。

其中一些操作需要 root 访问权限。例如, 需要使用useraddand命令。 另外,我需要更改文件夹中的几个文件。groupadd
etcvar

在安全性方面,要求无密码的 root ssh 访问以便 ansible 或其他人能够做到这一点是否安全且可接受?
如果没有,是否可以添加官方参考?最好是redhat网站或其他。
请注意,不允许使用 sudoer 用户。

标签: securitysshansibleredhat

解决方案


我会说不,“无密码 root ssh 访问”不安全。但是,您可以以 root 身份通过 ssh 使用基于密钥的身份验证。换句话说,你可以做你想做的事,只是不完全是你描述的那样。

添加用户和组是一个非常典型的配置管理任务,对于 ansible 来说是一个完美的工作。我建议创建一个使用 user 和 group 模块的 ansible playbook,而不是运行原始的 useradd 和 groupadd 命令(参见下面的示例)。但是,这将需要设置必要的基于 ssh 密钥的身份验证。

Ansible 也可以帮助完成该任务,但您必须使用密码进行身份验证才能设置基于密钥的身份验证。

https://docs.ansible.com/ansible/latest/modules/user_module.html https://docs.ansible.com/ansible/latest/modules/group_module.html

- name: Add the user 'johnd' with a specific uid and a primary group of 'admin'
  user:
    name: johnd
    comment: John Doe
    uid: 1040
    group: admin


推荐阅读