通过 Web 创建一次性 ssh 密钥

通过 Web 创建一次性 ssh 密钥

很多时候,我需要从不属于我的计算机进行 ssh 连接,因此出于安全原因,我希望能够创建一个在一次登录后过期的 ssh 密钥。此外,如果我能够通过输入密码从我的 Web 服务器检索这些密钥,那将很有帮助。我不太确定 Web 服务器方面是否能很好地工作,因为这可能会带来一系列全新的安全风险,但即使只是能够创建一次性 ssh 密钥也会很有帮助。如果有人能帮忙,我将不胜感激。

答案1

这个想法很有趣,而且实施起来也不会花费太长时间。该服务可以生成普通的 RSA 或 ECDSA 密钥(使用ssh-keygenopenssl),将公共部分附加到authorized_keys(带有“自动过期”注释),并且您的~/.profilesshrc可以在登录时自动清除此类密钥。

然而,你会给没有优势在安全性方面,由于您仍然需要进行身份验证,这次是向网站进行身份验证 - 大概使用与您提供给 SSH 的相同的用户名和纯文本密码...

即使你使用 SSL 来避免以纯文本形式传输密码,网站仍然有点较少的比直接 SSH 登录更安全;您必须获取并定期更新经过验证的 SSL 证书以避免 MitM 攻击,这并不像在口袋里携带 SSH 指纹那么简单。)


在你建议使用某种 OTP 身份验证进行网站验证之前,我要指出的是,你也可以使用 OTP 进行 SSH 连接。具体来说,Google 身份验证器为您的服务器配备了 PAM 模块,并为大多数流行手机配备了 OTP 生成器应用程序。另一项服务Duo 安全,使用电话进行身份验证。最后,还存在诸如 OPIE 之类的独立模块。

答案2

那么如何确保对 Web 服务器的访问是安全的?

剑桥大学开发的一次性密码系统:http://www.cl.cam.ac.uk/~mgk25/otpw.html

相关内容