我使用 PuTTY 通过 SSH 访问我的服务器。然而,由于我的私钥密码很复杂,我决定考虑使用其他身份验证方法,例如生物识别技术,更具体地说是指纹。
我查过如何做到这一点,但似乎以前没人知道如何做到这一点。由于我使用的是 Windows 7,因此指纹扫描仪的驱动程序与 Windows 本身之间存在某种集成(Windows 接受指纹作为官方身份验证方法)。
我想要做的是通过提供我的指纹来解锁我的笔记本电脑的 SSH 私钥,然后可以通过 SSH 将解锁的私钥传递到服务器以便我登录(像往常一样)。
我使用的指纹程序允许我保存网站的密码,但它是 AuthenTec 放弃的程序。它也是我的指纹驱动程序(也是 AuthenTec 的)支持的唯一程序。
我该如何完成这样的任务?或者说这根本不值得我付出努力?
答案1
这听起来像是一个非常有趣的实验。所有部件都是现成的,尽管我不知道有谁把它们拼接在一起。首先,我会使用x.509 生物特征识别联盟的方法。
实际上,您要做的就是创建一个私钥,使用从您的指纹生成的密钥对其进行加密;然后使用该密钥(一旦解密)作为标准 x.509 私钥。这意味着您不需要对 OpenSSH 进行太多修改,只需提供一种自定义方法来向其提供私钥即可。
不幸的是,OpenSSH 不支持 x.509 身份验证。不过 Roumen Petrov 已经修复了这个问题这里。
我独立完成了这两件事,效果很好——不过我还没尝试过把它们粘在一起。我怀疑,正如你提到的,这可能不值得付出努力。