openssh: Chiedi a ssh di aggiungere le chiavi all'agente secondo necessità


25

Quando ssh in un server e la mia chiave non è caricata nell'agente, devo interrompere, quindi eseguire ssh-add per ottenere la mia chiave nell'agente. Vorrei che il comando ssh aggiungesse automaticamente la chiave se non è presente, comunque. È possibile?


Hai una chiave per tutti i tuoi host di destinazione o hai chiavi diverse con password diverse? Stai usando putty da Windows o stai usando un sistema di finestre basato su X su Linux o sei su un Mac?
Otheus,

Sto usando solo una chiave e openssh. ssh trova già la chiave giusta e mi chiede la passphrase, ma dopo averla inserita, la chiave non verrà salvata nell'agente. Questo comportamento è lo stesso su tutti i sistemi POSIX e Cygwin.
enigmatico


No, è diverso. Voglio inserire la password chiave ogni volta che l'agente viene arrestato. Vorrei solo che ssh aggiungesse la chiave all'agente direttamente se necessario, piuttosto che dover prima usare ssh-add.
enigmatico

Risposte:


35

L' AddKeysToAgentopzione fa quello che voglio. Posso specificare -o AddKeysToAgent=yessulla riga di comando o aggiungere AddKeysToAgent yesuna riga da sola nella mia .ssh/config. Funziona entrambi.

Sembra che questa sia un'aggiunta molto recente a openssh, che appare nella versione 7.2, del 28-02-2016!

http://www.openssh.com/txt/release-7.2

Grazie OpenBSD! Lo userò molto .


.ssh / config: riga 3: opzione di configurazione errata: AddKeysToAgent. qualche idea? Server Unix
trainoasis

Controlla la tua versione di openssh. $ ssh -V. Deve essere più recente o uguale a 7.2.
enigmatico

Anzi, è stato così, grazie. Tuttavia richiede ancora la password dopo la registrazione. Come automatizzare git pull tramite script, ad esempio se è sempre necessario inserire pass? E immagino che id_rsa senza password non sia una buona idea ...
Trainoasis,

Intendi tra accessi ssh o tra accessi locali? La password dovrebbe essere cancellata tra gli accessi locali.
enigmatico

Ogni volta che eseguo uno script localmente, dovrebbe ssh lì ed eseguire git pull ecc., Ma ovviamente non può perché ha bisogno di password per i comandi GIT (ssh funziona senza perché pass è in Keychain, ma ovviamente i comandi lì richiedono pass)
trainoasis
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.