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

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

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

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

除此以外我们还在考虑:

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

还有什么遗漏吗?

答案1

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

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

如果你的用户有智能手机,那么你可以使用类似以下服务添加两步验证(无论如何这是一件好事)双人(安装和设置非常容易)或者您没有使用 google auth。

相关内容