我们正在考虑改变的一个安全stream程是我们允许用户访问我们的服务器的方式。 我们有大约20台Web服务器,其中唯一的访问是SSH,而目前我们使用密码authentication。 使用基于密钥的身份validation更安全,我必须考虑如何最好地pipe理这个过程。
如果我们有8个使用不同机器的远程用户,我们如何控制密钥authentication,因为每台机器都需要密钥到服务器。 pipe理是在客户端还是服务器端完成的? 当用户更换笔记本电脑或尝试从不同的机器/位置远程login时会发生什么?
除了这个,我们正在看:
更改SSH端口我们已经禁止了root用户使用PAM白名单IP来访问google-authenticator服务器? 安全的服务器跳转SSH服务器?
还有什么错过了?
每个用户都应该生成自己的密钥对,并为您提供一份公用密钥的副本,并将其放入相应的AuthorizedKeysFile(通常为〜/ .ssh / authorized_keys),或者将其放入自己的〜/ .ssh / authorized_keys文件。
他们应该被要求在私钥上设置密码短语。 当他们更换笔记本电脑时,他们只需要拿一个私钥的副本(这是一个简单的文本文件)。
如果你的用户有一个智能手机,那么你可以使用像Duo这样的服务(这是很容易安装和设置),或者因为你没有谷歌身份validation添加2步身份validation(无论如何,一件好事)。