AWS ssh access 'Permission denied (publickey)' проблема [закрыто]



Как подключиться к экземпляру AWS через ssh?



Я:




  1. зарегистрировался в AWS;

  2. создал открытый ключ и сертификат на веб-сайте AWS и сохранил их на диске;


  3. зашел в консоль и создал переменные среды:



    $ export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/
    $ export EC2_CERT=/home/default/aws/cert-EBAINCRNWHDSCWWIHSOKON2YWGJZ5LSQ.pem
    $ export EC2_PRIVATE_KEY=/home/default/aws/pk-EBAINCRNWHDSCWWIHSOKON2YWGJZ5LSQ.pem



  4. сказал AWS API использовать эту пару ключей и сохранил пару ключей в файл:



    $ ec2-add-keypair ec2-keypair > ec2-keypair.pem



  5. запуск экземпляра AWS Ubuntu 9 с помощью эта ключевая пара:



    $ ec2-run-instances ami-ed46a784 -k ec2-keypair



  6. попытка установить ssh-соединение с экземпляром:



    $ ssh -v -i ec2-keypair.pem [email protected]
    OpenSSH_5.1p1 Debian-5ubuntu1, OpenSSL 0.9.8g 19 Oct 2007
    debug1: Reading configuration data /etc/ssh/ssh_config
    debug1: Applying options for *
    debug1: Connecting to ec2-174-129-185-190.compute-1.amazonaws.com [174.129.185.190] port 22.
    debug1: Connection established.
    debug1: identity file ec2-keypair.pem type -1
    debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-5ubuntu1
    debug1: match: OpenSSH_5.1p1 Debian-5ubuntu1 pat OpenSSH*
    debug1: Enabling compatibility mode for protocol 2.0
    debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-5ubuntu1
    debug1: SSH2_MSG_KEXINIT sent
    debug1: SSH2_MSG_KEXINIT received
    debug1: kex: server->client aes128-cbc hmac-md5 none
    debug1: kex: client->server aes128-cbc hmac-md5 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: Host 'ec2-174-129-185-190.compute-1.amazonaws.com' is known and matches the RSA host key.
    debug1: Found key in /home/default/.ssh/known_hosts:11
    debug1: ssh_rsa_verify: signature correct
    debug1: SSH2_MSG_NEWKEYS sent
    debug1: expecting SSH2_MSG_NEWKEYS
    debug1: SSH2_MSG_NEWKEYS received
    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: ec2-keypair.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).


    в чем может быть проблема и как заставить его работать?



893   20  

20 ответов:

для экземпляров Ubuntu:

chmod 600 ec2-keypair.pem
ssh -v -i ec2-keypair.pem [email protected]

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

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

Смотрите также:http://www.youtube.com/watch?v=WBro0TEAd7g

вот это:

ssh -v -i ec2-keypair.pem ec2-user@[yourdnsaddress]

релизы Canonical используют пользователя "ubuntu" по умолчанию для всех, кто приземляется здесь с изображением ubuntu, который сталкивается с той же проблемой.

Если вы используете изображение Bitnami, войдите в систему как "bitnami".

кажется очевидным, но что-то я упустил из виду.

для моих изображений ubuntu это фактически пользователь ubuntu, а не ec2-пользователь;)

Ubuntu 10.04 с openSSH

это точное использование:

ssh -v -i [yourkeypairfile] ec2-user@[yourdnsaddress]

например:

ssh -v -i GSG_Keypair.pem [email protected]

приведенный выше пример был взят непосредственно из учебника AWS для подключения к машине Linux/UNIX по адресу: http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/

Он также будет жаловаться, если разрешения файла pem слишком открыты. chmod файл до 600, чтобы исправить это.

Я также столкнулся с этим-оказывается, я использовал созданный сообществом AMI-и имя Пользователя по умолчанию было niehter root, а также не было ect-user или ubuntu. На самом деле, я понятия не имел, что это такое - пока не попробовал ' root и сервер любезно попросил меня войти как xxx здесь xxx - это все, что он говорит вам.

-ура!

использовать...

# chmod 400 ec2-keypair.pem

Не используйте разрешение 600, иначе вы можете случайно перезаписать свой ключ.

вы должны иметь свой закрытый ключ в вашей локальной машине

вам нужно знать IP-адрес или DNS-имя вашего удаленного компьютера или сервера, вы можете получить это из консоли AWS

Если вы являетесь пользователем Linux

  • убедитесь, что разрешения на закрытый ключ 600 (chmod 600 <path to private key file>)
  • подключение к вашей машине с помощью ssh (ssh -i <path to private key file> <user>@<IP address or DNS name of remote server>)

Если вы являетесь пользователем Windows

  • используйте замазку для создайте сеанс ssh (http://the.earth.li / ~sgtatham/putty/latest/x86/putty-0.66-installer.exe)
  • если ваш закрытый ключ в файл .PEM-формате, конвертировать его в .ППК с помощью генератор puttygen
  • запустите PuTTy, установите файл ppk, IP-адрес или DNS-имя удаленного сервера и запустите сеанс ssh

это сработало для меня:

ssh-keygen -R <server_IP>

для удаления старых ключей, хранящихся на рабочей станции также работает с вместо

затем, делая тот же ssh снова это сработало:

ssh -v -i <your_pem_file> ubuntu@<server_IP>

на экземплярах ubuntu имя пользователя: ubuntu на Amazon Linux AMI имя пользователя: ec2-user

мне не пришлось заново создавать экземпляр из образа.

для экземпляров Debian EC2 пользователь admin.

Если вы используете AWS image от Bitnami. Имя пользователя будет об. Ура!

смотрите мою отладку и смотрите на последнюю:

*

ssh -v -i awsliferaysrta.pem.txt [email protected].***
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 54.254.250.*** [54.254.250.***] port 22.
debug1: Connection established.
debug1: identity file awsliferaysrta.pem.txt type -1
debug1: identity file awsliferaysrta.pem.txt-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_5.9p1 Debian-5ubuntu1.1
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH_5*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 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 05:5c:78:45:c9:39:3a:84:fe:f8:19:5d:31:48:aa:5f
debug1: Host '54.254.250.***' is known and matches the RSA host key.
debug1: Found key in /Users/macbookpro/.ssh/known_hosts:2
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: awsliferaysrta.pem.txt
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
Authenticated to 54.254.250.*** ([54.254.250.***]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Remote: Port forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Forced command.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
Please login as the user "bitnami" rather than the user "root".

*

в моем случае (Mac OS X) проблема заключалась в типе разрыва файла. Попробуйте это:

1.- Открой .PEM-файл с скопируйте

2.- В нижней части приложения, проверьте, если тип разрыва " Windows (CRLF)".

его ec2-пользователь для Amazon Linux AMI и ubuntu для Ubuntu изображений. Кроме того, RHEL 6.4 и позже ec2-пользователь RHEL 6.3 и более ранний корень Федора ЕС2-пользователя Centos root

просто добавление в этот список. Сегодня утром у меня возникли проблемы с новым пользователем, только что добавленным в экземпляр AWS EC2. Чтобы сократить погоню, проблема была selinux (который находился в исполнение mode), вместе с тем, что мой пользователь home dir был на новом томе EBS. Почему-то я думаю, как SELinux не нравится, что другие тома. Мне потребовалось некоторое время, чтобы понять, как я просмотрел все другие обычные проблемы ssh (/etc / ssh/sshd_config был в порядке, конечно нет пароль разрешен, разрешения были правильными и т. д.)

исправить?

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

sudo perl -pi -e 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
sudo setenforce 0

вот и все. Теперь мой новый пользователь может войти в систему, используя свой собственный ключ id_rsa.

была та же проблема. Отказано в разрешении (publickey) при попытке войти в систему с помощью "ec2-user" или "root".

Googled номер AMI образа машины, и у него была информация для входа SSH прямо на странице Debian wiki.

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

Если вы используете EBS, вы также можете попробовать подключить том EBS на работающем экземпляре. Затем смонтируйте его на этом запущенном экземпляре и посмотрите, что происходит в /home. Вы можете видеть такие вещи, как пользователь ubuntu или ec2-user ? или у него есть правильные открытые ключи под ~/.ssh / authorized_keys

разрешение ec2-keypair.pem должно быть 400

chmod 400 ec2-keypair.pem

есть 2 шага для подключения:

Chmod 400 на вашем закрытом ключе, как это другие не могут получить доступ к вашему ключу:

chmod 400 toto.pem

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

ssh -i toto.pem [email protected]

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

Comments

    Ничего не найдено.