Impossible de ssh à GCE: "Autorisation refusée (publickey)"

20

J'ai créé une machine virtuelle via Bitnami dans Google Compute Engine. Auparavant, je pouvais ssh via l'interface Web Bitnami. J'ai essayé de ssh via le terminal sur mon Mac mais j'ai continué à recevoir l' Permission denied (publickey)erreur. J'ai ensuite supprimé toutes les clés du serveur et de mon Mac et téléchargé le fichier pem sous forme bitnami et utilisé l' -ioption de connexion, mais le problème persiste.

ssh -i bitnami-gce.pem [email protected] -v

Informations de débogage complètes:

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to 1xx.1xx.5x.1xx [1xx.1xx.5x.1xx] port 22.
debug1: Connection established.
debug1: identity file bitnami-gce.pem type -1
debug1: identity file bitnami-gce.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Debian-4~bpo70+1
debug1: match: OpenSSH_6.6.1p1 Debian-4~bpo70+1 pat OpenSSH*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA <RSA KEY>
debug1: Host '1xx.1xx.5x.1xx' is known and matches the RSA host key.
debug1: Found key in /Users/xxx/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: bitnami-gce.pem
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

Je ne peux pas envoyer de ssh à l'hôte. Je ne peux donc pas envoyer de clés au serveur maintenant. Comment résoudre ça?

Edit: j'ai essayé de ssh via la console web Google et j'ai pu le faire. Quelqu'un peut-il me dire les étapes exactes pour ssh de n'importe où? Je préfère le simple nom d'utilisateur et mot de passe, comment le configurer de cette façon?

NÉO
la source
1. Après avoir créé une nouvelle clé ssh 2. ajout du projet clé publique ssh cloud.google.com/compute/docs/instances/…
Jirayuth Sing-ngam

Réponses:

19

Après avoir pu ssh via la console Web Google, j'ai fait les étapes suivantes pour résoudre ce problème:

  1. Générer une clé ssh à l'aide

    ssh-keygen

  2. Copiez le contenu du fichier key.pub

  3. Ajouter le contenu au ~/.ssh/authorized_keysfichier

    sudo nano ~/.ssh/authorized_keys

NÉO
la source
5

Lorsque votre instance est créée pour la première fois, elle ne contiendra aucune clé SSH par défaut, vous devez donc les transférer là-bas, par exemple, en utilisant gcloudpour vous y connecter la première fois comme décrit dans cette réponse SO ou en créant manuellement des clés SSH et en les ajoutant manuellement à votre instance comme décrit dans une autre réponse SO .

Misha Brukman
la source
5

J'ai fait face à la même situation à cause de l'utilisateur. Sur google web shh, mon nom d'utilisateur montrait quelque chose dans la première partie de mon e-mail. Donc j'essayais ssh comme ça

ssh <first_part_of_gmail>@google_vm_external_ip

Plus tard, je découvre que, google crée un utilisateur basé sur la clé ssh que vous mettez sur le paramètre google vm. Donc, vérifiez d'abord l'utilisateur à la fin de la clé publique et essayez de suivre

ssh <user_name_at_the_end_of_public_key>@google_vm_external_ip
maruf571
la source
Sauvez ma vie. Merci.
Tran Dinh Khanh
2

eu le même problème, j'ai utilisé la commande gcloud pour me connecter pour la première fois et ajouté à "/ etc / ssh / sshd_config"

PubkeyAcceptedKeyTypes  +ssh-dss

systemctl restart sshd

Maoz Zadok
la source
0

C'est une vieille question, mais j'ai eu ce problème aujourd'hui aussi et l'ai résolu en suivant ces étapes:

  1. générer la clé publique ssh à partir de votre ordinateur local
  2. copier la clé publique dans les paramètres de la machine virtuelle gcc

puis connectez-vous.

Ces étapes vous guideront pour vous connecter à votre instance gcc vm sur le terminal mac os à l'aide de ssh: https://nabtron.com/gcc-mac-terminal/ et corrigeront également le problème de l'autorisation refusée (pubilckey).

J'espère que ça aide.

Nabeel Khan
la source
0

vous devez vous assurer que vous déposez l'autorisation bitnami-gce.pem est 600

essayez chmod 600 bitnami-gce.pem

en ce qui concerne Ahmed

Ahmed Algharawy
la source