O Touch ID pode desbloquear uma chave SSH pessoal?

15

É possível usar o leitor de impressão digital Touch ID para desbloquear minha chave SSH?

Eu tenho um MacBook Pro com Touch Bar e tenho uma senha de texto tradicional para minha chave SSH agora.

Percebi que não recebo uma caixa de diálogo do sistema solicitando minha senha na 10.12, então isso provavelmente não é uma coisa, mas se eu pudesse fazê-lo, seria INCRÍVEL.

Nate
fonte

Respostas:

14

Atualização :

Uma opção é adicionar sua chave SSH privada ao macOS Keychain e usar o TouchID para autenticação de chave. Você deseja usar ssh-add -K ~/.ssh/[your-private-key]- no entanto, no macOS 10.12 Sierra, o recurso precisa ser ativado editando a edição ~/.ssh/confige adicionando:

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

Para detalhes, leia:

  1. Adicione permanentemente sua chave privada ao Keychain para que esteja automaticamente disponível para SSH
  2. Salvando chaves SSH no chaveiro do macOS Sierra

Original :

No momento, o desbloqueio TouchID de uma chave SSH não está disponível para o macOS.

  1. O projeto Xcode sudo-touchid demonstra como criar um aplicativo de linha de comando habilitado para TouchID e com failover para uma caixa de diálogo de senha. Ele roda no MacBook Pro de 2016 com Touch Bar. No entanto, é para sudo, não ssh. Isso indica que a ideia é tecnicamente viável.
  2. O cliente SSH do Prompt 2 tem suporte ao TouchID - para iOS, não para macOS. Isso indica que aplicativos comparáveis ​​podem ser disponibilizados por desenvolvedores comerciais.
  3. Um desenvolvedor online iniciou um projeto de wrapper ssh touchid há alguns meses - embora seja um esboço vazio do projeto. Isso indica que outras pessoas podem estar fazendo uma pergunta semelhante à sua.
JeremyDouglass
fonte
3
Você pode elaborar "em seguida, use o Touch ID para autenticação de chaveiro"? Se eu seguir os seus passos, não será solicitado que eu me autentique.
Mniess
2

Agora é possível usar o Sekey , que é um agente SSH que permite que os usuários se autentiquem nos servidores SSH UNIX / Linux usando o Secure Enclave.

Douglas Soares de Andrade
fonte
0

Isso é um pouco tangencial à minha pergunta original, mas eu tenho usado recentemente e muito parecido com o Krypton , o que me dá algo como o desbloqueio por TouchID. Esta solução armazena a chave SSH no enclave seguro do meu telefone e meu computador e telefone negociam via bluetooth quando uso a chave. Recebo um pop-up de confirmação no telefone e respondo depois de o desbloquear .

Então! Eu faço algo que funciona da mesma forma, mas é (acho) um pouco mais seguro do que armazenar a chave no meu laptop (mesmo com uma senha), definitivamente melhor do que deixá-la descriptografada no meu Keychain e muito útil para inicializar.

Também funciona como um segundo fator U2F para serviços da Web, usando um plug-in de navegador.

Nate
fonte
-2

Você pode escrever facilmente um invólucro para converter chamadas sensíveis ao toque em ssh e vice-versa. Traduza ainda mais uma possível correspondência em uma sequência de alcance (pense em pintura próxima, mas incompleta) - não há mágica lá. Eu usei a câmera para isso antes, quando touchid parecia um recurso de tricorder de Star Trek :-)

Tente fazer esse aplicativo você mesmo, uma boa motivação para aprender Swift! A Apple tem bons documentos em torno de todos os seus SDKs; portanto, após a dor inicial do Xcode, você pode fazer isso em poucos dias.

Parece uma boa idéia usar o talento. mesmo quando todo mundo fala sobre gazilhões de possíveis riscos à segurança que são, bem, possíveis (como muitas outras coisas). Você precisará de uma conta de desenvolvedor (99 $ / ano ...), como os aplicativos autoassinados não podem acessar todas as funcionalidades do SDK do macOS, o touchID (possivelmente) não pode ser acessado sem a assinatura.

PJJ
fonte