Ошибка разрешения при подключении к EC2 через SSH на Mac OSx

macos ssh amazon-ec2

80821 просмотра

14 ответа

1450 Репутация автора

Я новичок в EC2. Я создал свои учетные данные безопасности с этого сайта:

http://paulstamatiou.com/how-to-getting-started-with-amazon-ec2

Он отлично работал, я перезагрузился, и теперь, когда я пытаюсь подключиться, я получаю приглашение для входа / пароля. (Который я никогда не настраивал.) После нескольких попыток я получаю эту ошибку:

Разрешение отклонено (publickey, gssapi-with-mic).

Что я делаю неправильно?

Автор: Joshua Scott Источник Размещён: 01.02.2010 07:25

Ответы (14)


54 плюса

16966 Репутация автора

Решение

Две возможности, о которых я могу думать, хотя они упоминаются в ссылке, на которую вы ссылались:

  1. Вы не указываете правильный файл ключа ключа SSH или имя пользователя в команде ssh, которую вы используете для входа на сервер:

    ssh -i [полный путь к файлу ключевой пары] root @ [имя хоста EC2 или IP-адрес]

  2. У вас нет правильных прав на файл keypair; вы должны использовать

    chmod 600 [файл с ключом]

чтобы только вы могли читать или записывать файл.

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

[Обновить]: ОК, так что вы должны были видеть, если все настроено правильно:

debug1: Authentications that can continue: publickey,gssapi-with-mic
debug1: Next authentication method: publickey
debug1: Trying private key: ec2-keypair
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).

Вы запускаете команду ssh из каталога, содержащего файл ec2-keypair? Если да, попробуйте указать ключ -i ./ec2-keypair только для устранения проблем с траекторией. Также проверьте файл ls -l [полный путь к ec2-keypair] и убедитесь, что разрешения 600 (отображаются как rw -------). Если ничего из этого не работает, я подозреваю содержимое файла keypair, поэтому попробуйте воссоздать его, используя шаги в вашей ссылке.

Автор: gareth_bowles Размещён: 01.02.2010 08:39

14 плюса

398 Репутация автора

Ключом к тому, чтобы я мог подключиться, было использование пользователя «ec2-user», а не root. То есть:

ssh -i [full path to keypair file] ec2-user@[EC2 instance hostname or IP address]
Автор: slackhacker Размещён: 07.11.2010 11:46

3 плюса

965 Репутация автора

Вы уверены, что использовали правильный экземпляр? Я столкнулся с этой проблемой и понял, что что-то вроде 4 экземпляров ubuntu, которые я попробовал, на них не было установлены SSH-серверы.

Список хороших серверов см. В разделе «Получение изображений» примерно на полпути вниз. Похоже, что вы можете использовать что-то еще ... по умолчанию имя пользователя ubuntu на этих изображениях.

https://help.ubuntu.com/community/EC2StartersGuide

Автор: shigeta Размещён: 06.12.2010 05:55

0 плюса

56 Репутация автора

Если у вас есть файл PPK, работающий на ПК, экспортируйте его как файл OpenSSH с помощью puttygen.exe для ПК и используйте его на Mac (любой Unix-машине).

Я получал ту же ошибку -

debug1: Authentications that can continue: publickey,gssapi-with-mic
debug1: Next authentication method: publickey
debug1: Trying private key: ec2-keypair
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey,gssapi-with-mic
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-with-mic)

Когда я использовал файл PPK в Windows, я выполнил шаги, описанные выше, и Bingo!

$ ssh -i ec2-openssh-key root @ ec2-instance-ip

Автор: Sreekanth Размещён: 05.05.2011 07:21

5 плюса

502 Репутация автора

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

server$ chmod go-w ~/
server$ chmod 700 ~/.ssh
server$ chmod 600 ~/.ssh/authorized_keys

Сегодня вечером у меня был очень похожий опыт. Я настраивал django на EC2, и внезапно я больше не могу использовать SSH. Рад, что у меня все еще было активное соединение, поэтому я изменил /etc/ssh/sshd_configнастройки:

PasswordAuthentication yes

и установить пароль для ec2-user, затем я могу войти, введя пароль.

Однако после некоторых поисковых запросов я нашел эту тему: http://ubuntuforums.org/showthread.php?t=577279 . Оказалось, что во время моей настройки django я изменил разрешение на мой домашний каталог, и SSH очень строго об этом. Поэтому разрешение файла должно быть установлено правильно.

Автор: Ko-Chih Wu Размещён: 01.07.2011 12:37

2 плюса

81 Репутация автора

Я смог войти в систему с помощью пользователя ec2

ssh -i [полный путь к файлу keypair] ec2-user @ [имя хоста EC2 или IP-адрес]

Автор: e1on Размещён: 14.11.2011 03:17

4 плюса

41 Репутация автора

Отметьте ответ mecca831:

ssh -v -i generated-key.pem ec2-user@11.11.11.11

[ec2-user@ip-11.11.11.11 ~] $ sudo passwd ec2-user newpassword newpassword

[ec2-user@ip-11.11.11.11 ~] $ sudo vi / etc / ssh / sshd_config Измените файл следующим образом:

    # To disable tunneled clear text passwords, change to no here!
    PasswordAuthentication yes
    #PermitEmptyPasswords no
    # EC2 uses keys for remote access
    #PasswordAuthentication no

Сохранить

[ec2-user@ip-11.11.11.11 ~] $ sudo service sshd stop [ec2-user@ip-11.11.11.11 ~] $ sudo service sshd start

вы должны иметь возможность выйти и ssh следующим образом:

ssh ec2-user@11.11.11.11

и попросите пароль, которым больше не нужен ключ.

Автор: Pelli Размещён: 07.11.2012 10:55

1 плюс

11 Репутация автора

Ничто из перечисленного не помогло мне, но futzing с пользователем казалось, что это обещало. Для моей конфигурации с использованием «ubuntu» было правильно .....

ssh -i [полный путь к файлу ключевой пары] ubuntu @ [имя хоста EC2 или IP-адрес]

Автор: user1982176 Размещён: 05.02.2013 07:49

0 плюса

11 Репутация автора

У меня была такая же проблема с использованием инструментария AWS Toolkit для Eclipse. Я создал экземпляр Getting Started OK и открыл оболочку. Однако пользователь был настроен на пользователя ec2. Я использовал команду Open Shell As ... и установил для пользователя root. Тогда это сработало.

Автор: Arthur Ryman Размещён: 08.02.2013 08:31

2 плюса

311 Репутация автора

Примерно через полчаса поиска и попытки отладить это я смог понять. В моей ситуации я использовал один и тот же файл pem для двух разных экземпляров ec2, и он работал для одного, а не для другого.

Мой первый экземпляр, над которым он работал, был стандартным aws linux ami amzn-ami-hvm-2014.03.2.x86_64-ebs. Я просто использовал

ssh -i mypemfile.pem ec2-user@myec2ipaddress 

и это сработало.

Затем я запустил экземпляр Fedora-x86_64-19-20140407-sda и попробовал ту же команду, но продолжал получать:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

После изменения моего имени пользователя от пользователя ec2 в Fedora это сработало!

ssh -i mypemfile.pem fedora@myec2address
Автор: Airswoop1 Размещён: 16.07.2014 08:58

1 плюс

192 Репутация автора

Я рекомендую не устанавливать пароль, как предлагают некоторые другие ответы. Использование файла ключей является более безопасным (никто не может угадать ваши пароли) и более удобным (после настройки файла конфигурации). Вот основные сведения ~/.ssh/config:

Host my-ec2-server
  HostName 11.11.11.11
  User ec2-user
  IdentityFile /path/to/generated-key.pem

Теперь вы можете просто ввести, ssh my-ec2-serverи вы находитесь! Как уже упоминалось в других ответах, используйте -v, чтобы получить дополнительную информацию, когда ваше соединение не работает.

Автор: Michael Trotter Размещён: 02.09.2014 05:37

2 плюса

1051 Репутация автора

+1

Я заметил, что для некоторых AMI, таких как Amazon Linux, будет работать ec2-user@xxx.XX.XX.XXX. Но для образа ubuntu мне пришлось использовать ubuntu @ вместо этого. Это никогда не было проблемой с .pem, просто с именем пользователя.

Автор: Jacques Betancourt Размещён: 21.09.2014 12:01

4 плюса

41 Репутация автора

Я тоже встретил эту проблему. И я обнаружил, что это случилось, я забыл добавить имя пользователя до имени хоста: вот так:

ssh -i test.pem ec2-32-122-42-91.us-west-2.compute.amazonaws.com

и я добавляю имя пользователя:

ssh -i test.pem ec2-user@ec2-32-122-42-91.us-west-2.compute.amazonaws.com

оно работает!

Автор: Jie Размещён: 09.06.2017 03:45

0 плюса

6 Репутация автора

Если проблема последовательна и произошла примерно 10-15 раз подряд, даже после изменения прав доступа к файлам до 400 или 600, то, безусловно, что-то не так в экземпляре ec2, поэтому убедитесь, что: 1. проверьте журналы, когда вы попробуйте ssh к экземпляру, добавив -v в конце и увидев, что он выдает что-то конкретное. 2. Убедитесь, что вы используете правильное имя для ssh, например Ubuntu. Возможно, это зависит от дистрибутива Linux и пользователей, которых вы добавили, и либо вы дали разрешение на «root user» ssh. Тогда, если ничего не помогает, следуйте документации здесь https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectingMindTerm, чтобы исправить это. Это помогло мне в моем случае, и это произошло из-за перепутанных прав на каталоги / файлы.

Автор: Aleksandr Размещён: 20.11.2018 09:31
Вопросы из категории :
32x32