使用无密码 root ssh 的 Redhat 自动操作
Redhat automated actions with passwordless root ssh
我有几项操作需要在服务器网络上执行。
对于这些操作,我有两个选择:
手动,这会花费很多精力,而且我可能需要在不同的网络上一遍又一遍地做。
使用 ssh 连接时不允许密码提示的脚本或 ansible 自动执行。
其中一些操作需要 root 访问权限。例如,
需要使用 useradd
和 groupadd
命令。
另外,我需要更改 etc
和 var
文件夹中的几个文件。
就安全性而言,要求无密码 root ssh 访问是否安全且可接受,以便 ansible 或其他人能够做到这一点?
如果没有,是否可以添加官方参考?最好是 redhat 站点或其他站点。
请注意,不允许使用 sudoer 用户。
我会说不,"passwordless root ssh access" 不安全。但是,您可以以 root 身份通过 ssh 使用基于密钥的身份验证。换句话说,你可以做你想做的事,只是不完全是你描述的那样。
添加用户和组是一个非常典型的配置管理任务,也是 ansible 的完美工作。我建议创建一个使用用户和组模块而不是 运行 原始 useradd 和 groupadd 命令的 ansible 剧本(参见下面的示例)。但是,这将需要设置必要的基于 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
我有几项操作需要在服务器网络上执行。
对于这些操作,我有两个选择:
手动,这会花费很多精力,而且我可能需要在不同的网络上一遍又一遍地做。
使用 ssh 连接时不允许密码提示的脚本或 ansible 自动执行。
其中一些操作需要 root 访问权限。例如,
需要使用 useradd
和 groupadd
命令。
另外,我需要更改 etc
和 var
文件夹中的几个文件。
就安全性而言,要求无密码 root ssh 访问是否安全且可接受,以便 ansible 或其他人能够做到这一点?
如果没有,是否可以添加官方参考?最好是 redhat 站点或其他站点。
请注意,不允许使用 sudoer 用户。
我会说不,"passwordless root ssh access" 不安全。但是,您可以以 root 身份通过 ssh 使用基于密钥的身份验证。换句话说,你可以做你想做的事,只是不完全是你描述的那样。
添加用户和组是一个非常典型的配置管理任务,也是 ansible 的完美工作。我建议创建一个使用用户和组模块而不是 运行 原始 useradd 和 groupadd 命令的 ansible 剧本(参见下面的示例)。但是,这将需要设置必要的基于 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