Après avoir créé des clés avec un nom id_rsa
à son emplacement par défaut. J'ajoute l'identité à l'agent SSH avec la commande ssh-add ~/.ssh/id_rsa
, l'ajout réussit.
Je peux SSH sans entrer la phrase de passe de la clé car c'est déjà avec l'agent SSH.
Mais , lorsque je redémarre la machine ou le serveur, puis vérifie l'identité avec la commande, ssh-add -L
je reçois un message comme The agent has no identities
.
Cela signifie-t-il qu'au redémarrage de la machine, l'agent a perdu son identité? Est-ce un comportement normal ou quelque chose qui me manque ici?
Veuillez me guider, je ne connais pas très bien SSH.
Réponses:
C'est normal. Le but d'un agent de clé est simplement de conserver des clés déchiffrées en mémoire , mais il ne les écrit jamais sur le disque. (Cela irait à l'encontre du but - pourquoi ne pas simplement protéger la clé principale à la place?)
Les clés doivent donc être déverrouillées à chaque connexion, et vous devez automatiser cela - sous Linux, l’utilisation
pam_ssh
est une option; il utilise automatiquement votre mot de passe de système d'exploitation pour déverrouiller l'agent. Un autre module similaire estpam_envoy
, qui est un peu plus fiable afaik (mais nécessite systemd).Les deux modules démarreront l'agent lui-même et chargeront les clés automatiquement.
la source
$SSH_AUTH_SOCK
, j'obtiens le résultat sous la forme::-bash: /tmp/ssh-gT43vE99vk/agent.511
Permission refusée Je suis confus ici .. météo mon transfert d'agent fonctionne ou non .. pouvez-vous plz guider?echo $SSH_AUTH_SOCK
pour imprimer sa valeur.Essayez ceci dans votre ~ / .bashrc :
Cela ne devrait vous demander le mot de passe qu'une fois connecté.
la source
Sous OS X, ssh-add a un indicateur spécial pour se connecter au trousseau si vous décidez d'y stocker votre clé privée.
Courez
ssh-add -K ~/.ssh/id_rsa
.Je crois que cela répond plus à votre question. Il est difficile de trouver cette documentation spécifique à OS X, mais cela fonctionne depuis au moins OS X Leopard.
la source
ssh-add -A
qui ajoutera toutes les clés du trousseau. De plus, créez également un~/.ssh/config
et ajoutez-leUseKeychain yes
pour que macOS conserve toujours votre clé, comme décrit ici: unix.stackexchange.com/questions/140075/…Cette solution est pratique si vos clés ssh sont protégées par une phrase secrète.
Le problème avec toutes les réponses ci-dessus est que si votre clé privée est protégée par une phrase secrète, chaque fois que vous lancez un nouveau terminal et essayez d'utiliser la clé privée, vous devez taper la phrase secrète et vous finirez par exécuter plusieurs copies de l'
ssh-agent
entrée Mémoire. La solution consiste à ajouter ce qui suit dans votre~/.bashrc
ou~/.zshrc
:Cela vous demandera la phrase secrète de votre ou vos clés privées ssh une seule fois lorsque vous lancerez un terminal. L'ouverture ultérieure de nouvelles sessions de terminal (ou vues tmux) réutilisera l'agent ssh créé par l'extrait ci-dessus.
Référence
la source