Touch ID può sbloccare una chiave SSH personale?


15

È possibile utilizzare il lettore di impronte digitali Touch ID per sbloccare la mia chiave SSH?

Ho un MacBook Pro con Touch Bar e al momento ho una passphrase di testo tradizionale per la mia chiave SSH.

Ho notato che non ho una finestra di dialogo di sistema che richiede la mia passphrase il 10.12, quindi probabilmente non è una cosa, ma se potessi farlo, sarebbe INCREDIBILE.

Risposte:


14

Aggiornamento :

Un'opzione è aggiungere la tua chiave SSH privata al portachiavi macOS, quindi utilizzare TouchID per l'autenticazione del portachiavi. Ti consigliamo di utilizzare ssh-add -K ~/.ssh/[your-private-key], tuttavia su macOS 10.12 Sierra è necessario abilitare la funzione modificando la modifica ~/.ssh/confige aggiungendo:

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

Per i dettagli, leggi:

  1. Aggiungi in modo permanente la tua chiave privata a Keychain in modo che sia automaticamente disponibile per SSH
  2. Salvataggio delle chiavi SSH nel portachiavi macOS Sierra

Originale :

Al momento lo sblocco TouchID di una chiave SSH non è disponibile per macOS.

  1. Il progetto Xcode sudo-touchid mostra come creare un'applicazione della riga di comando che sia TouchID abilitato e esegua il failover in una finestra di dialogo passcode. Funziona su MacBook Pro 2016 con Touch Bar. Tuttavia, è per sudo, non per ssh. Ciò indica che l'idea è tecnicamente fattibile.
  2. Il client SSH Prompt 2 ha il supporto TouchID - per iOS, non macOS. Ciò indica che applicazioni simili potrebbero diventare disponibili da sviluppatori commerciali.
  3. Uno sviluppatore online ha iniziato un progetto di wrapper touchid ssh alcuni mesi fa, sebbene sia un progetto vuoto. Ciò indica che altri potrebbero porre una domanda simile alla tua.

3
Puoi approfondire "quindi utilizzare Touch ID per l'autenticazione del portachiavi"? Se seguo i tuoi passi non mi viene chiesto di autenticarmi.
mniess,

2

Ora è possibile utilizzare Sekey , che è un agente SSH che consente agli utenti di autenticarsi su server SSH UNIX / Linux utilizzando Secure Enclave.


0

Questo è in qualche modo tangente alla mia domanda originale, ma recentemente ho usato e molto simile a Krypton , che mi dà qualcosa di molto simile allo sblocco TouchID. Questa soluzione memorizza la chiave SSH sull'enclave sicura del mio telefono e il mio computer e il mio telefono negoziano via bluetooth quando utilizzo la chiave. Ricevo un popup di conferma sul telefono e rispondo dopo averlo sbloccato .

Così! Riesco a fare qualcosa che funziona in modo simile, ma è (penso) un po 'più sicuro rispetto alla memorizzazione della chiave sul mio laptop (anche con una passphrase), decisamente meglio di lasciarla decifrata nel mio Keychain e molto utilizzabile per l'avvio.

Funziona anche come secondo fattore U2F per i servizi Web, utilizzando un plug-in del browser.


-2

Puoi facilmente scrivere un wrapper per tradurre chiamate touchid in ssh e viceversa. Inoltre, traduci ulteriormente una possibile corrispondenza in una sequenza di intervalli (pensa a un quadro ravvicinato ma incompleto) - non c'è magia lì. Ho usato la fotocamera per quello prima quando il touchid sembrava una funzione tricorder da Star Trek :-)

Prova a creare questa app da solo, una buona motivazione per imparare Swift! Apple ha buoni documenti su tutti i suoi SDK, quindi dopo il dolore iniziale di Xcode puoi farlo in pochi giorni.

Sembra una buona idea usare l'impresa. anche quando tutti ti diranno di migliaia di miliardi di possibili rischi per la sicurezza che sono, beh, possibili (come molte altre cose). Avrai bisogno di un account di sviluppo (99 $ / anno ...), poiché le app autofirmate non possono accedere a tutte le funzionalità degli SDK di macOS, touchID non è (probabilmente) accessibile senza firma.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.