Permission denied (publickey,gssapi-keyex,gssapi-avec-mic)
Après la création de l'instance, je peux me connecter à l'aide de gcutil ou ssh. J'ai essayé de copier/coller à partir de la ssh lien figurant au bas de l'instance et d'obtenir le même message d'erreur.
- Avez-vous essayé d'installer gcutil et en cours d'exécution
gcutil ssh <instance name>
? - oui, je suis en utilisant gcutil pour créer l'instance. le copier/coller à partir de la connexion ssh au bas de l'instance utilise gcutil ainsi.
- ./gcutil --service_version="v1beta15" --projet="splunk-01" ssh --zone="us-central1-un" "ob-e1"
- google compute engine sdk est plein de bugs(je suppose que c'est toujours dans le jamais de fin de bêta). Je reçois la même erreur lorsque j'essaie de me connecter à Readhat/centos instances. Debian fonctionne. Solution: la migration vers un autre fournisseur avant est trop tard(mon cas).
- Windows, Mac ou sur le client?
Vous devez vous connecter pour publier un commentaire.
La permission denied erreur indique probablement que SSH clé privée d'authentification a échoué. En supposant que vous utilisez une image dérivée de la distribution Debian ou Centos images recommandé par gcutil, c'est probablement l'une des opérations suivantes:
-i
option.La façon de déterminer ce que les comptes et les touches sont à l'instance:
Il y a un script qui s'exécute à chaque minute sur le standard Compute Engine Centos et Debian, les images qui récupère les "sshKeys' entrée de métadonnées à partir du serveur de métadonnées, et crée des comptes (avec sudoers d'accès, si nécessaire. Ce script s'attend à des entrées de la forme "compte de:\n" dans le sshKeys métadonnées, et peut mettre plusieurs entrées dans authorized_keys pour un seul compte. (ou de créer plusieurs comptes si vous le souhaitez)
Dans les versions récentes de l'image, ce script envoie sa sortie pour le port série via syslog, ainsi que les locaux des journaux sur la machine. Vous pouvez lire le dernier 1 MO de serial port de sortie via
gcutil getserialportoutput
, ce qui peut être pratique lorsque la machine n'est pas de répondre via SSH.Comment
gcutil ssh
travaux:gcutil ssh
effectue les opérations suivantes:$HOME/.ssh/google_compute_engine
, et les appelsssh-keygen
à en créer une si pas présent.sshKeys
pour une entrée qui ressemble à${USER}:$(cat $HOME/.ssh/google_compute_engine.pub)
gcutil ssh
appellessh
avec quelques arguments de ligne de commande pour se connecter à la machine virtuelle.Quelques façons de le briser, et ce que vous pourriez être en mesure de faire pour les corriger:
sshKeys
, la console et de l'outil de ligne de commande de ne pas réaliser que la modification de lasshKeys
ne fonctionne pas, et beaucoup de la correction automatique de magie ci-dessus peut être détruit.ssh
, il peut ne pas trouver votre.ssh/google_compute_engine
clé. Vous pouvez résoudre ce problème en utilisantgcutil ssh
, ou par la copie de votre clé publique ssh (qui se termine dans.pub
) et en ajoutant à lasshKeys
entrée pour le projet de l'instance ou dans la console. (Vous aurez également besoin de mettre un nom d'utilisateur, probablement le même que votre local-machine nom de compte.)gcutil ssh
, vous n'avez probablement pas un.ssh/google_compute_engine.pub
fichier. Vous pouvez soit utiliserssh-keygen
pour créer un nouveau SSH public/privé de la paire de clés et de l'ajouter àsshKeys
, comme ci-dessus, ou utilisergcutil ssh
de les créer et de gérersshKeys
.sshKeys
entrée ne correspond pas à votre nom d'utilisateur local, vous pouvez avoir besoin de fournir les-l
argument de SSH.gcutil ssh
de commande que vous devrez définir un utilisateur autre que root si vous utilisez nos images standard. Ajout d'une demande de fonctionnalité pour le suivi de la mise à jour gcutil.De s'assurer que les autorisations d'accès à votre répertoire d'accueil et sur le répertoire home de l'utilisateur sur l'hôte vous vous connectez à sont mis à 700 ( utilisateur propriétaire rwx seulement à empêcher les autres de voir le .ssh sous-répertoire ).
Alors s'assurer que le ~/.ssh répertoire est également 700 ( utilisateur rwx ) et que le authorized_keys est de 600 ( utilisateur rw ) .
Clés privées dans votre ~/.ssh répertoire doit être de 600 ou 400 ( utilisateur rw ou de l'utilisateur r )
J'ai eu le même problème et pour une raison quelconque, Le sshKeys n'était pas la synchronisation avec mon utilisateur sur l'instance.
J'ai créé un autre utilisateur en ajoutant des --ssh_user=anotheruser à gcutil commande.
La gcutil ressemblait à ça
J'ai été confronté à ce problème depuis longtemps. Enfin, il a été question de ssh-add. Git ssh informations d'identification n'ont pas été prises en considération.
Vérifier la commande suivante pourrait fonctionner pour vous:
J'ai juste reçu le même message [ la mienne était "Permission denied (publickey)"] après la connexion à un calcul moteur VM qui je viens de créer. Après la lecture de ce post, j'ai décidé d'essayer de nouveau.
Que le temps qu'il a travaillé. Donc, je vois 3 raisons possibles pour travailler la deuxième fois,
Je soupçonne ce dernier est peu probable 🙂
J'ai trouvé cette erreur lors de la connexion d'instance ec2 avec ssh.
et il en vient, si j'écris un mauvais nom d'utilisateur.
par exemple. pour ubuntu, j'ai besoin d'utiliser ubuntu comme nom d'utilisateur
et pour les autres, j'ai besoin d'utiliser ec2-utilisateur.
Vous n'avez pas accepté une réponse, alors voici ce qui a fonctionné pour moi dans Mastic:
Sans permettre les changements nom d'utilisateur, j'ai eu cette question du sujet comme d'erreur sur l'ordinateur de la passerelle.
Vous devez suivre ces instructions
https://cloud.google.com/compute/docs/instances/connecting-to-instance#generatesshkeypair
Si get "Permission denied (publickey)." avec le suivi de commande
ssh -i ~/.ssh/my-ssh-key [USERNAME]@[IP_ADDRESS]
vous avez besoin de modifier le /etc/ssh/sshd_config fichier et ajoutez la ligne
AllowUsers [USERNAME]
Puis redémarrer le service ssh avec
service ssh restart
si vous obtenez le message "impossible de charger la clé d'hôte: /etc/ssh/ssh_host_ed25519_key" exécuter:
ssh-keygen -A
et enfin redémarrer le service ssh de nouveau.
service ssh restart
J'ai suivi tout à partir d'ici:
https://cloud.google.com/compute/docs/instances/connecting-to-instance#generatesshkeypair
Mais il y a eu une erreur et les clés SSH à mon instance de métadonnées n'était pas reconnue.
Solution: Vérifier si votre clé ssh a tout de nouvelle ligne. Lorsque j'ai copié ma clé à l'aide de chat, elle a ajouté en lignes dans la clé, brisant ainsi la clé. A vérifier manuellement toutes les sauts de lignes et de les corriger.
L'astuce ici est d'utiliser l'option-C (commentaire) paramètre pour spécifier votre GCE userid. On dirait que Google a lancé ce changement de dernière en 2018.
Si l'utilisateur de Google qui est propriétaire de la CME, l'instance de l'[email protected] (ce qui vous permettra d'utiliser votre login nom d'utilisateur), puis générer la paire de clés (par exemple)
Lorsque vous collez mykeypair.pub dans l'instance de la clé publique de la liste, vous devriez voir "myname" apparaissent comme le nom d'utilisateur de la clé.
Mettre cela en place vous permettra d'utiliser ssh, scp, etc à partir de votre ligne de commande.