Невозможно выполнить ssh для GCE: «Отказано в доступе (publickey)»


20

Я создал виртуальную машину через Bitnami в Google Compute Engine. Ранее я был в состоянии ssh через веб-интерфейс Bitnami. Я попытался ssh через терминал на моем Mac, но продолжал получать Permission denied (publickey)ошибку. Затем я удалил все ключи на сервере и моем Mac и загрузил файл pem в форме bitnami и использовал -iопцию для подключения, но проблема все еще сохраняется.

ssh -i bitnami-gce.pem xxx@1xx.1xx.5x.1xx -v

Полная информация об отладке:

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 hmac-md5-etm@openssh.com none
debug1: kex: client->server aes128-ctr hmac-md5-etm@openssh.com 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).

Я не могу ssh к хосту. Поэтому не могу отправить ключи на сервер сейчас. Как решить это?

Изменить: я пытался ssh через веб-консоль Google, и я мог это сделать. Может кто-нибудь сказать мне точные шаги для SSH из любого места? Я предпочитаю простой способ ввода имени пользователя и пароля, как его настроить?


1. После создания нового ключа ssh. 2. Добавление открытого проекта ssh-ключа cloud.google.com/compute/docs/instances/…
Jirayuth Sing-

Ответы:


19

После того как я смог ssh через веб-консоль Google, я сделал следующие шаги, чтобы решить эту проблему:

  1. Сгенерируйте ключ ssh используя

    ssh-keygen

  2. Скопируйте содержимое файла key.pub

  3. Добавить содержимое в ~/.ssh/authorized_keysфайл

    sudo nano ~/.ssh/authorized_keys


5

Когда ваш экземпляр создается впервые, по умолчанию он не содержит ключей SSH, поэтому вам нужно перенести его туда, например, с помощью gcloudпервого подключения к нему, как описано в этом ответе SO, или путем создания ключей SSH вручную. и вручную добавить их в ваш экземпляр, как описано в другом ответе SO .


5

Я столкнулся с такой же ситуацией из-за пользователя. На Google WebShh мое имя пользователя показывало что-то в первой части моего письма. Итак, я пытался SSH, как это

ssh <first_part_of_gmail>@google_vm_external_ip

Позже я обнаружил, что google создает пользователя на основе ключа ssh, который вы указали в настройке gm vm. Итак, сначала проверьте пользователя в конце открытого ключа, и попробуйте следующее

ssh <user_name_at_the_end_of_public_key>@google_vm_external_ip

Спаси мою жизнь. Благодарю.
Чан Динь Кхан

2

возникла та же проблема, я использовал команду gcloud для первого входа в систему и добавил в "/ etc / ssh / sshd_config"

PubkeyAcceptedKeyTypes  +ssh-dss

systemctl перезапустить sshd


0

Это старый вопрос, но у меня тоже была эта проблема сегодня, и я решил ее, выполнив следующие действия:

  1. сгенерируйте открытый ключ ssh на вашем локальном компьютере
  2. скопируйте открытый ключ в настройки виртуальной машины gcc

а затем подключиться.

Эти шаги помогут вам подключиться к вашему экземпляру gcc vm на терминале Mac OS, используя ssh: https://nabtron.com/gcc-mac-terminal/, а также исправят проблему отказа в доступе (pubilckey).

Я надеюсь, что это помогает.


0

вам нужно убедиться, что вы подаете разрешение bitnami-gce.pem 600

попробуйте chmod 600 bitnami-gce.pem

С уважением Ахмед

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.