ssh-agent: non inoltrare l'autenticazione per l'intero portachiavi


10

Ho due chiavi ssh private:

  • uno per accedere alle mie macchine personali ,
  • uno per accedere ai server nel mio lavoro .

Aggiungo quelle due chiavi al mio ssh-agent con ssh-add.

Ora, quando lo faccio, ssh -A root@jobsrvvorrei inoltrare l'autenticazione agente solo per la mia chiave di lavoro (quella che sto usando per connettermi jobsrv).

Lo voglio perché chiunque abbia accesso come root jobsrvpuò usare il mio agente per autenticarsi con le mie macchine personali.

C'è un modo per ottenere questo isolamento?


hai controllato l'opzione -i nella pagina man di ssh?
Un essere umano

1
@Stillakid sì, ssh -A -i myjobkey_rsa root@jobsrvconsente ancora alla macchina jobsrv di accedere al mio agente macchina locale e autenticarsi sul mio server personale con l'altra chiave (personale) ...
Totor

controllato anche ssh-keysign?
Un essere umano

Risposte:


2

Per forzare ssh(1)l'uso di una chiave particolare anche se ssh-agent(1)offre più chiavi , utilizzare la direttiva IdentityFilee IdentitiesOnlyin ~/.ssh/config, ad esempio:

Host example.com
    IdentityFile ~/.ssh/keys/special.pem
    IdentitiesOnly yes

Vedi ssh_config(5)per i dettagli.


Questo non funziona . IdentitiesOnlysi applica quando si tenta di connettersi al server remoto. Una volta connesso, se -Aè abilitato l'inoltro dell'agente, viene inoltrato l'intero portachiavi.
Totor

Il portachiavi non viene inoltrato. E 'la richiesta di autenticazione che viene inoltrato a .
bahamat,

@bahamat Certo, errore mio. Tuttavia, questa soluzione non funziona.
Totor,

2

Sfortunatamente, credo che al momento attuale non sia possibile raggiungerlo facilmente . Uno potrebbe usare due agenti (uno per ogni chiave) in modo che non ci sia agente che trattiene tutte le chiavi. Ma sarebbe piuttosto ingombrante con cui lavorare.

Questo è il motivo per cui è stata aperta una segnalazione di bug (miglioramento). C'è anche questo rapporto simile .

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.