La commande ssh-add n'ajoute pas mon identité à ssh-agent
20
Je viens d'installer Ubuntu 13.10 et j'étais sur le point d'ajouter mon identité à mon agent ssh, donc j'ai ouvert un terminal et je l'ai fait
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ ssh-add
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$
ssh-add ajoute des identités de clé privée à l'agent d'authentification, ssh-agent (1). Lorsqu'il est exécuté sans arguments, il ajoute les fichiers ~ / .ssh / id_rsa, ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa et ~ / .ssh / identity. [...]
Les fichiers d'identité ne doivent être lisibles par personne d'autre que l'utilisateur. Notez que ssh-add ignore les fichiers d'identité s'ils sont accessibles par d'autres.
Donc, en raison d'une The agent has no identities.erreur, vous n'avez probablement pas ces fichiers ou peut-être que ces fichiers sont accessibles par d'autres. Vous pouvez les vérifier à l'aide de la commande suivante:
ls -l ~/.ssh
En outre, après avoir exécuté la ssh-addcommande, exécutez echo $?pour voir l'état d'erreur de la commande précédente. Si l'état de sortie renvoyait 0, la commande a été exécutée avec succès. Si l'état de sortie renvoyait une valeur non nulle, la commande n'a pas pu s'exécuter.
vrai, je n'ai pas ces fichiers et la valeur de sortie de ssh-addétait 1 mais pas 0. il y a évidemment un problème avec mes autorisations car les fichiers ne sont pas créés. Une idée comment je pourrais résoudre ce problème? le répertoire ~/.sshexiste (est vide) mais il n'apparaît pas quand je le faisls -l
bjorgvin
J'ai exécuté cette commande, ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsadonc man ssh-keygen a aidé, merci.
bjorgvin
1
Cela m'a donné un indice d'importation dans la bonne direction. J'avais plusieurs clés ssh et je devais d'abord ajouter la bonne clé en utilisant ssh-add <keyname>. Ensuite, cela a fonctionné comme un charme. thx
paulroho
3
Pour une raison quelconque, je n'avais aucune sortie lors de l'exécution ssh-addaprès avoir saisi la phrase secrète (cela échouait selon la $?réassurance 1. J'ai essayé de chmod 600 ~/.ssh/id_rsa* ne pas avoir de chance. J'ai généré une nouvelle clé à partir de zéro avec ssh-keygenpuis cela a fonctionné. Triste mais au moins c'est ok maintenant (La clé défaillante a été générée en utilisant ssh-keygen -t rsa -b 4096 -C "[email protected]", je n'ai couru qu'à la ssh-keygenplace cette fois).
GabLeRoux
1
J'ai dû faire ce qui suit dans cet ordre: (si nécessaire, générez une nouvelle clé ssh et assurez-vous d'ajouter la clé .pub à github), puis cd ~/.ssh && ls -lahpour voir les autorisations de lecture / écriture dans le dossier .ssh, changez toutes les clés (s ) avec chmod 400 myKeyalors ssh-add **ABSOLUTE**pathToKey si vous n'ajoutez pas le chemin ABSOLU , cela ne fonctionnera pas. Ensuite, testez-le avecssh -vT [email protected]
jungledev
3
En plus des considérations ci-dessus, j'ai trouvé que si vous utilisez un autre shell, vous devrez peut-être le configurer pour charger ssh-agent. Par exemple, dans zsh, il faut ajouter ssh-agentà pluginsen .zshrc.
Cette méthode fonctionne très bien sur Ubuntu 17.10 avec la dernière Zsh
D'autres ont constaté qu'avec des id_ed25519clés, rsafonctionnait sans plugin. Après avoir ajouté ssh-agentà ~/.zshrc, redémarrez le shell avec exec "$SHELL"et exécutez:ssh-add ~/.ssh/id_ed25519
Enter passphrase for ~/.ssh/id_ed25519:
Identity added: ~/.ssh/id_ed25519 (user@host)
ssh-add
était 1 mais pas 0. il y a évidemment un problème avec mes autorisations car les fichiers ne sont pas créés. Une idée comment je pourrais résoudre ce problème? le répertoire~/.ssh
existe (est vide) mais il n'apparaît pas quand je le faisls -l
ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsa
donc man ssh-keygen a aidé, merci.ssh-add
après avoir saisi la phrase secrète (cela échouait selon la$?
réassurance 1. J'ai essayé dechmod 600 ~/.ssh/id_rsa*
ne pas avoir de chance. J'ai généré une nouvelle clé à partir de zéro avecssh-keygen
puis cela a fonctionné. Triste mais au moins c'est ok maintenant (La clé défaillante a été générée en utilisantssh-keygen -t rsa -b 4096 -C "[email protected]"
, je n'ai couru qu'à lassh-keygen
place cette fois).cd ~/.ssh && ls -lah
pour voir les autorisations de lecture / écriture dans le dossier .ssh, changez toutes les clés (s ) avecchmod 400 myKey
alorsssh-add **ABSOLUTE**pathToKey
si vous n'ajoutez pas le chemin ABSOLU , cela ne fonctionnera pas. Ensuite, testez-le avecssh -vT [email protected]
En plus des considérations ci-dessus, j'ai trouvé que si vous utilisez un autre shell, vous devrez peut-être le configurer pour charger ssh-agent. Par exemple, dans zsh, il faut ajouter
ssh-agent
àplugins
en.zshrc
.Cette méthode fonctionne très bien sur Ubuntu 17.10 avec la dernière Zsh
D'autres ont constaté qu'avec des
id_ed25519
clés,rsa
fonctionnait sans plugin. Après avoir ajoutéssh-agent
à~/.zshrc
, redémarrez le shell avecexec "$SHELL"
et exécutez:ssh-add ~/.ssh/id_ed25519
la source