Configuration d'un nouveau droplet Digital Ocean avec des clés SSH. Quand je cours, voici ssh-copy-id
ce que j'obtiens:
ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
sign_and_send_pubkey: signing failed: agent refused operation
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
Cependant, lorsque j'essaye ensuite de ssh, cela se produit:
ssh [email protected]
sign_and_send_pubkey: signing failed: agent refused operation
[email protected]'s password:
En entrant le mot de passe, je suis connecté très bien, mais cela va bien sûr à l'encontre de l'objectif de création de la clé SSH en premier lieu. J'ai décidé de jeter un œil au côté serveur ssh-agent et voici ce que j'obtiens:
[email protected]:~# eval `ssh-agent -s`
Agent pid 5715
[email protected]:~# ssh-add -l
The agent has no identities.
user / .ssh / allowed_keys contient également une entrée de clé ssh-rsa, mais find -name "keynamehere"
ne renvoie rien.
ssh
remote-access
digital-ocean
ssh-keys
user968270
la source
la source
gpg-agent
pour la fonctionnalité SSH. J'ai déjà unenable-ssh-support
engpg-agent.conf
mais toujours un même message d'erreur. J'ai trouvé sur la liste de diffusion pour exécuter cecigpg-connect-agent updatestartuptty /bye
:: bugs.debian.org/cgi-bin/bugreport.cgi?bug=835394ssh-add
doit être invoquée pour que lessh-agent
devienne conscient de la nouvelle clé privée (par linux.die.net/man/1/ssh-agent ).ssh-add
cela a fonctionné! Merci.Après la mise à niveau de Fedora 26 vers 28, j'ai rencontré le même problème. Et les journaux suivants manquaient
PROBLÈME:
le message d'erreur ne pointe pas le problème réel. Problème résolu par
la source
.ssh/
ne disposait pas des autorisations requises car je l'avais créé moi-même manuellement.J'avais le même problème sous Linux Ubuntu 18 . Après la mise à jour d' Ubuntu 17.10 , chaque commande git afficherait ce message.
Le moyen de le résoudre est de vous assurer que vous disposez de la bonne autorisation sur le
id_rsa
etid_rsa.pub
.Vérifiez le numéro de chmod actuel en utilisant
stat --format '%a' <file>
. Il devrait être 600 pourid_rsa
et 644 pourid_rsa.pub
.Pour modifier l'autorisation sur les fichiers, utilisez
Cela a résolu mon problème avec la mise à jour.
la source
id_rsa.pub
est-il utilisé dans le processus d'authentification du client?~/.ssh
:chmod 600 id_*
Exécutez la commande ci-dessous pour résoudre ce problème.
Cela a fonctionné pour moi.
la source
J'ai eu l'erreur en utilisant gpg-agent comme mon agent ssh et en utilisant une sous-clé gpg comme ma clé ssh https://wiki.archlinux.org/index.php/GnuPG#gpg-agent .
Je soupçonne que le problème a été causé par un tty d'entrée de broche non valide pour gpg causé par ma commande sleep + lock utilisée dans ma configuration sway
bindsym $mod+Shift+l exec "sh -c 'gpg-connect-agent reloadagent /bye>/dev/null; systemctl suspend; swaylock'"
ou juste le sommeil / suspension
Réinitialisez le tty d'entrée de broche pour résoudre le problème
gpg-connect-agent updatestartuptty /bye > /dev/null
et le correctif pour ma commande sway sleep + lock:
bindsym $mod+Shift+l exec "sh -c 'gpg-connect-agent reloadagent /bye>/dev/null; systemctl suspend; swaylock; gpg-connect-agent updatestartuptty /bye > /dev/null'"
la source
gpg-connect-agent updaterstartuptty /bye > /dev/null
mon ~ / .zshrc, décommenter cette ligne a résolu mon problème.À cette erreur:
J'ai résolu comme ceci:
Je vous remercie.
la source
Il peut y avoir différentes raisons pour obtenir l'erreur SSH:
Certains d'entre eux pourraient être liés aux problèmes mis en évidence par les autres réponses (voir les réponses de ce fil de discussion), certains d'entre eux pourraient être cachés et nécessiteraient donc une enquête plus approfondie.
Dans mon cas, j'ai le message d'erreur suivant:
La seule façon de trouver le vrai problème était d'appeler l' option -v verbose, ce qui entraînait l'impression de nombreuses informations de débogage:
Veuillez noter que la ligne disant
key_load_public: No such file or directory
fait référence à la ligne suivante et non à la ligne précédente.Donc, ce que SSH dit vraiment, c'est qu'il n'a pas pu trouver le fichier de clé publique nommé
id_rsa.website.domain.com-cert
et cela semblait être le problème dans mon cas puisque mon fichier de clé publique ne contenait pas le-cert
suffixe.Pour faire court: le correctif dans mon cas était simplement de s'assurer que le fichier de clé publique était nommé comme prévu. Je ne pourrais jamais soupçonner cela sans déboguer la connexion.
La ligne du bas est UTILISER LE MODE VERBOSE SSH (option -v) pour déterminer ce qui ne va pas, il peut y avoir plusieurs raisons, aucune qui ne peut être trouvée sur ce / un autre thread.
la source
Cela devrait être plutôt une question SuperUser.
À droite, j'ai exactement la même erreur dans MacOSX SourceTree, cependant, dans un terminal iTerm2, les choses fonctionnent parfaitement.
Cependant, le problème semble être que j'ai deux
ssh-agent
s en cours d'exécution; (Le premier étant
/usr/bin/ssh-agent
(aka MacOSX), puis le HomeBrew installé en/usr/local/bin/ssh-agent
cours d'exécution.Lancer un terminal à partir de SourceTree, m'a permis de voir les différences
SSH_AUTH_SOCK
, en utilisant,lsof
j'ai trouvé les deux différentsssh-agent
s, puis j'ai pu charger les clés (en utilisantssh-add
) dans le système par défautssh-agent
(c'est-à-dire/usr/bin/ssh-agent
), SourceTree fonctionnait à nouveau.la source
Oui. Exécutez ssh-add sur la machine cliente. Puis répétez la commande ssh-copy-id [email protected]
la source
Pour moi, le problème était un mauvais copier / coller de la clé publique dans Gitlab. La copie a généré un retour supplémentaire. Assurez-vous que ce que vous collez est une clé d'une ligne.
la source
J'ai aussi une
sign_and_send_pubkey: signing failed: agent refused operation
erreur. Mais dans mon cas, le problème était un fauxpinentry
chemin.Dans mon
${HOME}/.gnupg/gpg-agent.conf
lapinentry-program
propriété a été pointant vers un ancien chemin de pinentry. Corriger le chemin et redémarrer legpg-agent
corrigé pour moi.Je l'ai découvert en suivant les logs avec
journalctl -f
. Là où des lignes de journal comme les suivantes contiennent le mauvais chemin:la source
J'ai besoin de partager, car j'ai passé trop de temps à chercher une solution
J'utilisais cette commande:
gnome-keyring ne prend pas en charge la clé générée.
La suppression de l'
-o
argument a résolu le problème.la source
Dans mon cas, le problème était que le trousseau de clés GNOME contenait une phrase de passe invalide pour la clé ssh à utiliser. Après avoir passé un temps indécent à résoudre ce problème, j'ai couru
seahorse
et j'ai trouvé l'entrée contenant une chaîne vide. Je ne peux que supposer que cela a été causé par une mauvaise saisie de la phrase de passe lors de la première utilisation quelque temps plus tôt, puis par l'annulation probablement du demandeur afin de revenir à la ligne de commande. La mise à jour de l'entrée avec une phrase de passe correcte a immédiatement résolu le problème. La suppression de cette entrée (du trousseau de clés "login") et la saisie à nouveau de la phrase de passe à cette première invite (et en cochant la case appropriée) résout également ce problème. L'agent obtient maintenant la phrase de passe correcte du trousseau de clés déverrouillé à la connexion nommé "login" et ne demande plus de phrase de passe ni "refuse l'opération". Bien sûr, YMMV.la source
Ce qui a fonctionné ici: sur le client
1) ssh-add
2) ssh-copy-id utilisateur @ serveur
Les clés ont été créées il y a quelque temps avec "ssh-keygen -t rsa". J'ai sw le message d'erreur parce que j'ai copié ma clé publique ssh du client au serveur (avec ssh-id-copy) sans exécuter ssh-add en premier, puisque j'ai supposé à tort que je les avais ajoutés quelque temps plus tôt.
la source
note rapide pour ceux qui ont récemment mis à jour vers la version ssh "moderne" [OpenSSH_8.1p1, OpenSSL 1.1.1d FIPS 10 sept. 2019] - fourni avec fedora 31, semble ne plus accepter les anciennes clés DSA SHA256 (les miennes sont datées de 2006!) - a créé une nouvelle clé rsa, publique ajoutée à autorisée, privée sur le client, et tout fonctionne parfaitement.
merci pour les suggestions précédentes, en particulier le ssh -v a été très utile
la source