使用生物识别技术的 SSH 身份验证

old*_*ud0 7 ssh fingerprint putty

我正在使用 PuTTY 通过 SSH 访问我的服务器。但是,由于我的私钥密码的复杂性,我决定考虑使用其他身份验证方法,例如生物识别技术,更具体地说是指纹。

我查了查怎么做这样的事情,但似乎以前没有人想过怎么做。由于我使用的是 Windows 7,指纹扫描仪的驱动程序和 Windows 本身之间存在一些集成(Windows 接受指纹作为正式的身份验证方法)。

我想要做的是通过提供我的指纹来解锁我笔记本电脑的 SSH 私钥,然后解锁的私钥可以通过 SSH 传递到服务器以让我登录(像往常一样)。

我正在使用的指纹程序允许我为网站保存密码,但它是 AuthenTec 废弃的程序。它也是我的指纹驱动程序(也来自 AuthenTec)支持的唯一程序。

我怎样才能完成这样的承诺?或者它根本不值得付出努力?

小智 1

这听起来是一个非常有趣的实验。所有部件都可用,但我不知道有谁将它们缝合在一起。首先,我将使用x.509 生物识别联盟的方法

实际上,您要做的就是创建一个私钥,并使用从您的指纹生成的密钥进行加密;然后使用该密钥(解密后)作为标准 x.509 私钥。这意味着您不需要修改 OpenSSH,只需提供向其提供私钥的自定义方法即可。

不幸的是,OpenSSH 不支持 x.509 身份验证。然而 Roumen Petrov在这里解决了这个问题。

我独立完成了这两件事,而且它们很有魅力——不过我还没有尝试将它们粘在一起。我怀疑,正如您所提到的,这可能不值得付出努力。