Touch ID可以解锁个人SSH密钥吗?


15

是否可以使用Touch ID指纹读取器来解锁我的SSH密钥?

我有一台带Touch Bar的MacBook Pro,现在我有一个用于SSH密钥的传统文本密码。

我注意到我没有在10.12上看到系统对话框要求输入密码,所以这可能不是问题,但是如果我能做到,那就太不可思议了。

Answers:


14

更新

一种选择是将您的私有SSH密钥添加到macOS钥匙串,然后使用TouchID进行钥匙串身份验证。您将要使用ssh-add -K ~/.ssh/[your-private-key]-但是在macOS 10.12 Sierra上,需要通过编辑编辑~/.ssh/config和添加来启用该功能:

Host * (asterisk for all hosts or add specific host)
   AddKeysToAgent yes
   UseKeychain yes
   IdentityFile <key> (e.g. ~/.ssh/userKey)

有关详细信息,请阅读:

  1. 永久将您的私钥添加到“钥匙串”中,以便SSH自动使用
  2. 在macOS Sierra钥匙串中保存SSH密钥

原件

目前,macOS 无法使用 SSH密钥的TouchID解锁。

  1. 须藤-touchid Xcode项目演示了如何构建一个命令行应用程序,启用TouchID和故障转移到一个密码对话框。它可以在带有Touch Bar的2016 MacBook Pro上运行。但是,它用于sudo,而不是ssh。这表明该想法在技术上是可行的。
  2. 提示2 SSH客户端TouchID支持-适用于iOS,而不是Mac系统。这表明商业开发人员可能会获得类似的应用程序。
  3. 几个月前,一个在线开发人员启动了一个ssh touchid包装项目-尽管它是一个空的项目存根。这表明其他人可能在问与您类似的问题。

3
您能否详细说明“然后使用Touch ID进行钥匙串身份验证”?如果我按照您的步骤进行操作,根本不会要求您进行身份验证。
mniess 18-3-20

2

现在可以使用Sekey,它是SSH代理,允许用户使用Secure Enclave向UNIX / Linux SSH服务器进行身份验证。


0

这与我的原始问题有些相切,但我最近一直在使用,非常类似于Krypton,这给了我很多类似于TouchID解锁的功能。此解决方案将SSH密钥存储在手机的安全区域中,当我使用该密钥时,我的计算机和手机会通过蓝牙进行协商。我在电话上看到一个确认弹出窗口,并在解锁后做出响应

所以!我要做的事情类似,但是(我认为)比将密钥存储在笔记本电脑上(甚至带有密码)要安全得多,绝对好于将其解密并保存在我的钥匙串中,并且非常易于引导。

使用浏览器插件,它还可以作为Web服务的U2F第二要素。


-2

您可以轻松编写包装器,将touchid调用转换为ssh并再次返回。甚至进一步将〜可能的匹配转换为一个范围序列(想想很近但绘画不完整)-那里没有魔术。当touchid看起来像是《星际迷航》中的三阶特征时,我就用过相机:-)

尝试自己制作这样的App,这是学习Swift的良好动力!Apple的所有SDK都有不错的文档,因此在经历了Xcode的最初苦恼之后,您可以在几天内完成。

使用该壮举似乎是一个好主意。即使每个人都会告诉您数百万亿美元的安全隐患,也很有可能(就像很多其他事情一样)。不过,您将需要一个开发者帐户(每年99美元...),因为自签名应用无法访问所有macOS SDK功能,因此必须签名才能访问touchID。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.