可能重复:
管理密钥对的常用实用策略是什么?
上周我参加了一个关于哪种 ssh 密钥方法更“安全”的对话。请注意,在考虑“安全”时,我们试图将人类行为(任何安全系统中最不安全的部分)考虑在内。
ssh 环境主要是 Unix/Linux 机器(也有一些 PuTTY)。ssh 的用户是“人类用户”以及“自动化帐户”,用于执行需要 scp/ssh 复制文件或执行远程命令的计划任务/脚本。
为了尝试为我们的用户提供最佳实践,我们正在考虑以下建议:
“每个用户一个 ssh 密钥” - 用户生成单个密钥对并将公钥提交给我们的自动化过程,该过程将公钥复制到允许用户登录的主机上的用户 authorized_keys 文件中。指示用户在他们用作 ssh 客户端的所有主机上使用相同的密码保护私钥。这种方法为每个用户生成一个密钥对。
“multiple 'per-client-host' ssh keys” - 用户应该为每个 SSH 客户端生成一个 ssh 密钥对。用户将公钥提交给一个自动化过程,该过程将密钥复制到允许用户登录的主机上的 authorized_keys 文件 authorized_keys 文件中。这种方法会产生“uxc”密钥对;其中“u”是用户数,“c”是客户端数。
在我们的讨论中,我们注意到每种方法的优点/缺点。例如:“每个用户一个 ssh 密钥”方法的优点是让用户记住他们唯一密钥的重要性,以及我们能够在授权密钥的审计中审计用户的一个公共的存在文件。另一方面,“多个 'per-client-host' ssh 密钥”方法的优点是允许审核 authorized_key 文件以确定能够登录的用户和客户端机器——这对于理解访问类型特别有用非人类帐户(运行调用 SSH/SCP 的脚本)具有。
我很想听听这个论坛上的人有什么效果。提前致谢。