J'ai ajouté une clé ssh à l'agent en:
$ ssh-add ~/.ssh/id_rsa_mac
Identity added: /Users/alex/.ssh/id_rsa_mac (/Users/alex/.ssh/id_rsa_mac)
Après un redémarrage, la clé n'a plus été ajoutée à l'agent:
$ ssh-add -l
The agent has no identities.
Pourquoi est-ce arrivé?
$HOME/.gnupg/private-keys-v1.d
dès que vous les ajoutez avec ssh-add. C'est vraiment persistant. En supposant que vous ayez un répertoire personnel non volatile.Réponses:
L'ajout de clés à l'agent est transitoire. Ils ne durent que tant que l'agent est en cours d'exécution. Si vous le tuez ou redémarrez votre ordinateur, ils sont perdus jusqu'à ce que vous les rajoutiez à nouveau. De la
ssh-agent
page de manuel:macOS Sierra
À partir de macOS Sierra 10.12.2 , Apple a ajouté une option de configuration UseKeychain pour les configurations SSH. Vous pouvez activer cette fonctionnalité en ajoutant
UseKeychain yes
à votre~/.ssh/config
.Porte-clés OSX
Je n’utilise pas OSX, mais j’ai trouvé ce Q & A sur SuperUser intitulé: Comment utiliser le trousseau Mac OS X avec des clés SSH? .
Donc, à partir de là, vous pouvez importer vos clés SSH dans le trousseau en utilisant cette commande:
Vos clés devraient alors persister de démarrage à démarrage.
Source: Super utilisateur - Comment utiliser le trousseau Mac OS X avec des clés SSH?
la source
~/.ssh/id_rsa
. J'imagine que c'est l'emplacement de votre fichier de clés sur Linux. Il est également possible que vous n'utilisiez pas l'agent de clé ssh standard. Il en existe d'autres, tels que gnome-keyring-daemon, qui peuvent avoir un comportement différent.ssh-agent
ajoute des clés automatiquement. À mon avis, ilssh-add
lit les emplacements standard ou lessh
client si vous n'utilisez pas l'agent./usr/bin/ssh-add -K /path/to/private/key
Le
ssh-agent
est un service de session qui stocke les clés temporairement pour l'utilisateur.L’agent SSH a pour objectif principal de retenir la version en texte clair d’une clé sécurisée à l’aide d’une phrase secrète. En d'autres termes, la clé est stockée sur le disque crypté à l'aide d'une phrase secrète et le propriétaire de la clé utilise
ssh-add
un outil graphique pour fournir la phrase secrète et demander à l'agent de s'en souvenir jusqu'à la fermeture de la session ou la demande explicite de suppression par l'utilisateur.Si vous n'utilisez pas de phrase secrète et que vous n'utilisez pas le transfert d'agent (ce qui est de toute façon peu sûr pour la plupart des cas), vous n'avez pas du tout besoin de l'agent . Tout client SSH doit pouvoir lire la clé à partir du disque, à partir d’un emplacement standard ou d’un emplacement explicitement spécifié.
Les emplacements standard sont répertoriés dans la page de manuel
ssh(1)
:Lorsque vous utilisez des emplacements non standard, vous pouvez utiliser le
-i
commutateur pour lessh
décrire dans la même page de manuel ou l'option correspondante dans le client SSH que vous utilisez.la source
ssh-agent
En Sierra :
Utilisez UseKeychain . (Je n'ai pas essayé cela, mais cela ressemble à la solution la plus correcte.)
Ou
Ou créez un fichier plist au lieu d’être ajouté à
~/.bash_profile
.Clause de non-responsabilité: comme d’autres l’ont fait remarquer, je ne sais pas dans quelle mesure il est sûr de stocker les mots de passe ssh dans le trousseau.
la source