基于 SSH 密钥的身份验证最佳实践

Gri*_*ckz 3 security linux ssh ssh-keys

我们正在考虑改变的安全流程之一是我们允许用户访问我们服务器的方式。我们有大约 20 个 Web 服务器,其中唯一的访问权限是 SSH,目前我们使用密码身份验证。由于基于密钥的身份验证更加安全,我必须考虑如何最好地管理此过程。

如果我们有 8 个远程用户都使用不同的机器,我们如何控制密钥身份验证,因为这些机器中的每一个都需要服务器的密钥。管理是在客户端级别还是在服务器级别完成?当用户更换他的笔记本电脑或尝试从不同的机器/位置远程访问时会发生什么?

除此之外,我们正在研究:

更改 SSH 端口 我们已经禁用了 root 正在查看使用 PAM 白名单 IP 进行服务器访问的 google-authenticator?用于服务器跳跃的安全 SSH 服务器?

还有什么遗漏吗?

use*_*517 7

每个用户都应该生成自己的密钥对,并为您提供一份公钥副本,您将把它放入适当的 AuthorizedKeysFile(通常是 ~/.ssh/authorized_keys)中,或者他们可以将其放入自己的 ~/.ssh/authorized_keys 文件中.

应该要求他们在私钥上设置密码短语。当他们更换笔记本电脑时,他们只需随身携带私钥的副本(这是一个简单的文本文件)。

如果您的用户有智能手机,那么您可以使用Duo 之类的服务(非常容易安装和设置)或因为您不是 google auth.