Google Cloud Engine. Permission denied (publickey,gssapi-keyex,gssapi-avec-mic)
Je ne peut pas se connecter via ssh,
J'ai été capable de se connecter pendant près de 24 heures.
Tout d'un coup, ssh
arrêts de travail.
J'ai eu de nombreux utilisateurs, et j'ai également ajouté une nouvelle (tomcat) de l'utilisateur dans cette machine virtuelle.
Je suis reçoivent le message suivant lorsque j'essaie de ssh à mon exemple:
"Permission denied (publickey,gssapi-keyex,gssapi-with-mic)."
J'ai fini par enlever ~/.ssh/google_compute_engine*
Retiré l'sshKeys les métadonnées de Cloud Engine Console
Essayé gcutil ssh
encore une fois, cela a créé de nouvelles ~/.ssh/google_compute_engine
fichier ainsi que sshKeys metadata
.
Mais encore, je reçois cette erreur.
J'ai fini par créer un utilisateur différent sur l'instance à l'aide de --ssh_user=anotheruser drapeau dans gcutil, et cela a fonctionné.
vous devez arrêter d'utiliser google cloud. Il est toujours en alpha/beta produit. Toujours cassé avec cassé et du gonflement des Kits de développement logiciel
pourquoi ne pas Google nous dire cela? Ou de recevoir une instruction qui a travaillé?
vous devez arrêter d'utiliser google cloud. Il est toujours en alpha/beta produit. Toujours cassé avec cassé et du gonflement des Kits de développement logiciel
pourquoi ne pas Google nous dire cela? Ou de recevoir une instruction qui a travaillé?
OriginalL'auteur Reza Shahbazi | 2013-12-07
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème et j'ai été débogage pendant environ 16 heures. Encore que j'ai trouvé la solution j'aimerais que vous avez une part de mon odyssée.
J'étais en train de GitLab sur Google Compute Engine annoncé comme un seul clic l'installation.
Bien, enfin comme j'ai essayé de cloner un repository privé, j'ai eu le message d'erreur:
J'ai regardé après le privée/clé publique de la paire de et j'ai trouvé rien d'inhabituel.
Alors je pensais qu'il pouvait quelque chose de mal avec l' sshd sur le serveur que j'ai eu le message de débogage:
Donc j'ai vérifié une pléthore de différents sshd paramètres mais rien n'est vraiment résolu le problème.
Et enfin j'ai commencé le débogage sur le côté serveur et a trouvé l'erreur:
Finalement, c'était la route du bonheur. Parce que le fichier existe, et sshd savait quel fichier qu'il a à charge. Toutefois, en quelque sorte, il y avait un problème de permission.
J'ai donc vérifié si le chmod les fichiers dans le distance
.ssh
dossier étaient ok. J'ai trouvé rien d'inhabituel.Et voici la solution:
SELinux avait un problème avec l'emplacement de la
.ssh
dossier et n'était pas disposé à donner la permission à la démon ssh.Soit par l'exécution de la commande
restorecon -Rv /var/opt/gitlab/.ssh/
ou
semanage fcontext -a -t ssh_home_t "/var/opt/gitlab/.ssh/authorized_keys"
L'une des deux commandes à la fois résolu le problème. Je serai heureux si quelqu'un pouvait vérifier laquelle de ces deux!
De sorte que vous n'avez pas besoin de désactiver SELinux!
sudo yum -y install policycoreutils-python && sudo semanage fcontext -a -t ssh_home_t "/var/opt/gitlab/.ssh/authorized_keys"
Vous avez répondu à ma question ici: stackoverflow.com/questions/26427165/...OriginalL'auteur sxleixer
C'est vraiment un commentaire sur la solution correcte par @sxleixer, mais je voulais la mise en forme.
La
semanage
outil n'est pas installé par défaut. D'aller la chercher avecPermettre à la non standard ssh_home_t
Redémarrer
sshd
ou de faire un redémarrage complet avecTest tout fonctionne localement
Cela résout le un seul clic installation de GitLab sur Google Compute Engine.
Il y a en effet aucune raison pour désactiver SELinux.
OriginalL'auteur Alec Wenzowski
Dans cette situation, il est probable que le
.ssh/authorized_keys
fichier principal de l'utilisateur est configuré de manière incorrecte. Il est possible que le fichier a le tort de données, mais je soupçonne que vous avez réellement besoin pour réparer les autorisations. Essayez ceci:Puis essayez de vous connecter en tant qu'utilisateur de votre nouveau.
OriginalL'auteur Benson
Désactiver selinux.
Également définir SELINUX permissive dans /etc/selinux/config.
Puis aller upvote cette réponse: https://stackoverflow.com/a/24212432/162070
OriginalL'auteur Zlatko
Solution:
ssh -i /home/user/.ssh/id_rsa user2@instance-2
OriginalL'auteur nitish