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.