在 Linux 机器上以 root 身份禁用 ssh 以及编写脚本的挑战

bea*_*eld 4 security scripting linux ssh sudo

有安全意识的人通常建议在 Linux 机器上以 root 身份禁用 ssh。我的问题是这样的:

假设您通常编写大量脚本,这些脚本通过 ssh 连接到大量 Linux 机器并执行各种根级任务。如果您以 root 身份禁用 ssh,您如何进行需要 root 权限的日常维护?

当然, sudo 是一个选项,但是每次运行命令时都必须输入密码。如果您的脚本执行各种任务怎么办?如果您必须针对大量主机运行该脚本怎么办?

当然,您可以设置NOPASSWD 参数,但这不是存在安全风险吗?

只是在这里沉思。想得到社区的反馈。我正在寻找一种相对安全的方式来 ssh 到 Linux 机器并执行根级任务。

Mic*_*ton 6

你可以做很多事情。这是部分清单:

  • 如果脚本确实必须定期运行,请将其放入 crontab,并停止手动运行。

  • 使用诸如 MCollective 之类的系统(与 puppet 相关,但不完全是 puppet 的一部分)在大量机器上同时远程运行命令。

  • 使用 ssh 密钥允许来自特定用户的 root 登录。这会带来审计风险,因为登录的人可能不会被登录,因此它实际上只适用于非常小的安装。

  • /etc/sudoers仅指定可以无需密码即可运行特定脚本; 其他任何事情都需要密码。