Невозможно подключиться по SSH к виртуальной машине, что вызывает проблемы с установкой Hadoop с использованием bdutil

Я прошел через большинство Вопросов, касающихся этой проблемы на этом сайте, однако, кажется, ничто не помогло мне. По сути, я пытаюсь создать экземпляр Hadoop на моей виртуальной машине с помощью скрипта bdutil, предоставляемого Google, однако проблема, по-видимому, связана с тем, что я не могу подключиться к экземпляру виртуальной машины по ssh.

Я боролся с этим уже пару дней, поэтому я очень ценю вашу помощь.

Вот шаги, за которыми я следовал:

Для того, чтобы пройти вас через шаги, которые я только что создал новую виртуальную машину

Я могу SSH через консоль разработчика без проблем

Ниже показана информация о системе и операционной системе:

uname –a Linux archipelago-vm1 2.6.32-431.20.3.el6.x86_64 # 1 SMP четверг 19 июня 21:14:45 UTC 2014

tail / etc / redhat-release tail: нельзя использовать inotify, возвращаясь к опросу CentOS версии 6.5 (финальная версия)

Виртуальная машина настроена так, чтобы разрешать подключения как http, так и https.

На моем компьютере с Windows (Windows 8.1 Professional) я удалил все ранее созданные файлы SSH, чтобы разрешить создание новых, я также удалил все ранее созданные ключи в проекте (там было много мусора, поскольку я пробовал несколько вещей чтобы заставить это работать)

Затем я авторизовался на новой виртуальной машине, используя gcloud Auth Login

Это работает нормально, и я авторизовался и вошел в систему

Я вижу экземпляр, используя список экземпляров gcloud compute

Затем я пытаюсь SSH в экземпляр

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

Однако он не может подключиться к SSH. Примечание. Я пробовал это как с парольной фразой, так и без парольной фразы, в данном случае я оставил ее пустой.

ошибка, которую я получаю Нет поддерживаемых методов аутентификации

Когда я проверяю файлы, которые были созданы в обоих местах на моей машине, а также в проекте в разделе метаданных / ключей ssh

Когда я сравниваю файл.pub на моей машине и ключ на vm, эти 2 ключа идентичны, я также безуспешно пытался добавить ключи к ключам SSH, специфичным для экземпляра vm.

Интересно, что когда я использую замазку на своем компьютере, я могу без проблем войти в систему, используя файл C: \ Users \ cleveen.ssh \ google_compute_engine.ppk

Поэтому сначала я подумал: нет проблем, я просто буду использовать свою замазку, однако, когда я попытался запустить сценарий bdutil для создания экземпляра Hadoop, он выдал ошибку, что я не вошел в систему через gcutil и не запустил сценарий, поэтому я вошел в систему через консоль разработчика и он все равно не запустится (та же ошибка)

Затем я вошел в файл sshd_config и разрешил вход в систему с паролем, установил пароль для своей учетной записи и затем gcloud SSH, позволил мне войти в систему с помощью пароля без проблем.

Однако когда я запустил сценарий, он создал все экземпляры и диски, необходимые для Hadoop, однако сценарий завершился ошибкой из-за ошибок открытого ключа SSH, и я так и не смог его завершить.

К сожалению, у меня нет файлов журнала из этого скрипта, так как я удалил экземпляр, на котором они были; Я могу повторить эти шаги еще раз, если вам будет полезно посмотреть эти журналы.

Однако все это, похоже, связано с тем, что процесс SSH с использованием ключевых файлов не работает

Пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию. Еще раз спасибо за вашу помощь с этим

3 ответа

Похоже, что здесь есть пара проблем:

  1. bdutil все еще использует gcutil ssh вместо gcloud compute ssh (но ведется работа по переходу на gcloud compute ssh), так что даже если вы можете настроить свою локальную среду, чтобы сделать gcloud compute ssh работа, бдутил еще требует gcutil ssh работать для развертывания кластеров Hadoop - обратите внимание, что в большинстве случаев эти две разные команды работают одинаково.

  2. Запуск из cmd.exe или Putty недостаточно настраивает среду для "gcutil"; Традиционно в инструкции входила установка "cygwin", чтобы обеспечить среду posix для запуска инструментов Google Cloud SDK.

Вы можете увидеть этот связанный пост stackru относительно необходимости Cygwin для "gcutil ssh": Невозможно запустить gcutil из командной строки

Таким образом, если вы убедитесь, что Cygwin установлен, а затем используете оболочку Cygwin (не cmd.exe или Putty), вы убедитесь, что "gcutil ssh" работает без ключевой фразы, тогда bdutil должен работать с Cygwin с этого момента.

В качестве альтернативы можно запустить отдельную виртуальную машину n1-standard-1, на которой работает что-то вроде debian-7, в качестве вашего "bdutil runner", убедившись, что вы нажали "Расширенные настройки" и включили "служебные учетные записи" облачного хранилища и Compute Engine. Внутри этого "bdutil runner" вы можете настроить его собственную способность "gcutil ssh", набрав

gcutil ssh `hostname`

и оставьте парольную фразу пустой, когда она попросит вас, а затем используйте эту виртуальную машину для запуска ваших развертываний.

Вы можете ssh с компьютера с Windows на экземпляр GCE следующим образом:

  1. удалите все предыдущие версии Python, удалите папку ".ssh" в папке "Users\yourusername" и удалите предыдущие каталоги Program Files\Google
  2. установите последнюю версию Windows Cloud SDK и подтвердите установку python 2.7. https://cloud.google.com/compute/docs/gcloud-compute/
  3. откройте оболочку Google Cloud SDK от имени администратора и выполните вход $ gcloud auth
  4. gcloud вычисляет ssh для выбранной виртуальной машины (обратите внимание: это не удастся, но создаст ssh-ключи Google Cloud на вашем компьютере с Windows)
  5. откройте версию с замазкой, поставляемую с Cloud SDK, в папке Program Files\Google\Cloud SDK\google-cloud-sdk\bin\sdk\ssh-term
  6. укажите свой ключ в Putty: выберите Connection, SSH, Auth, нажмите "Обзор", выберите ключ из Users\yourusername.ssh
  7. В Putty нажмите "Session", вставьте IP-адрес вашей виртуальной машины и подключитесь (используйте имя пользователя Windows для "login as"). Это имя пользователя можно найти в конце вашего открытого ключа.

1) проверьте права доступа к каталогу.ssh, попробуйте sudo chmod -R 700 .ssh в вашем каталоге, возможно, он поможет вам в случае возникновения проблемы

Другие вопросы по тегам