Назад | Перейти на главную страницу

Невозможно подключиться к GCE по ssh: «В доступе отказано (открытый ключ)»

Я создал виртуальную машину через Bitnami в Google Compute Engine. Раньше я мог использовать ssh через веб-интерфейс Bitnami. Я пытался использовать ssh через терминал на моем Mac, но продолжал получать Permission denied (publickey) ошибка. Затем я удалил все ключи на сервере и своем Mac, загрузил файл pem с битнами и использовал -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 откуда угодно? Я предпочитаю простой способ имени пользователя и пароля, как это настроить?

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

  1. Создайте ключ ssh с помощью

    ssh-keygen

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

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

    sudo nano ~/.ssh/authorized_keys

Я столкнулся с такой же ситуацией из-за пользователя. В сети google shh мое имя пользователя показывало что-то в первой части моего электронного письма. Итак, я пробовал ssh вот так

ssh <first_part_of_gmail>@google_vm_external_ip

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

ssh <user_name_at_the_end_of_public_key>@google_vm_external_ip

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

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

PubkeyAcceptedKeyTypes  +ssh-dss

После перезапуска службы:

systemctl restart sshd

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

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

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

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

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

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

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

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

Удостовериться у тебя нет Вход в ОС включен. Документы читать:

Если вы управляете своими ключами SSH с помощью входа в ОС на экземплярах, конфигурации ключей SSH на основе метаданных в этих экземплярах отключены.

и

Внимание! Включение входа в ОС для экземпляров отключает для этих экземпляров конфигурации ключей SSH на основе метаданных. Отключение входа в ОС восстанавливает ключи SSH, которые вы настроили в метаданных проекта или экземпляра.

Чтобы проверить, перейдите к метаданным уровня проекта (Compute Engine -> Metadata) и убедитесь, что у вас нет enable-oslogin ключ или что он установлен на FALSE