Как подключиться к экземпляру AWS через ssh?
У меня есть:
- Зарегистрирован в AWS;
- Создали открытый ключ и сертификат на веб-сайте AWS и сохранили их на диск;
Зашел на мою консоль и создал переменные окружения:
$ 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
Сказал API AWS использовать эту пару ключей и сохранил ее в файл:
$ ec2-add-keypair ec2-keypair > ec2-keypair.pem
Запустил экземпляр AWS Ubuntu 9, используя эту пару ключей:
$ ec2-run-instances ami-ed46a784 -k ec2-keypair
Попытка установить ssh-соединение с экземпляром:
$ ssh -v -i ec2-keypair.pem ubuntu@ec2-174-129-185-190.compute-1.amazonaws.com 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).
В чем может быть проблема и как заставить это работать?
Ответы:
Для экземпляров Ubuntu:
В других случаях вам, возможно, придется использовать
ec2-user
вместоubuntu
.В большинстве образов EC2 Linux, которые я использовал, по умолчанию создается только пользователь root.
Смотрите также: http://www.youtube.com/watch?v=WBro0TEAd7g
источник
Теперь это:
источник
Релизы Canonical по умолчанию используют пользователя 'Ubuntu' для любого, кто приземлится здесь с изображением Ubuntu, которое сталкивается с той же проблемой.
источник
Если вы используете изображение Bitnami, войдите как «bitnami».
Кажется очевидным, но кое-что я упустил.
источник
Seems <sarcasm>obvious</sarcasm>
Для моих образов Ubuntu, это на самом деле пользователь Ubuntu, а не пользователь ec2;)
источник
Ubuntu 10.04 с openSSH
это точное использование:
например:
Приведенный выше пример был взят непосредственно из учебника AWS для подключения к машине Linux / UNIX по адресу: http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/
источник
Он также будет жаловаться, если права доступа к файлу pem слишком открыты. CHMOD файл до 600, чтобы исправить это.
источник
chmod 600 your_file.pem
Я также столкнулся с этим - оказывается, я использовал созданный сообществом AMI - и именем пользователя по умолчанию было niehter root, а также ect-user или ubuntu. На самом деле, я понятия не имел, что это было - пока я не попробовал « root », и сервер любезно попросил меня войти в систему как xxx, где xxx - это то, что он говорит вам.
-cheers!
источник
Вам нужен личный ключ на вашем локальном компьютере
Вам нужно знать IP-адрес или DNS-имя вашего удаленного компьютера или сервера, вы можете получить его из консоли AWS
Если вы пользователь Linux
chmod 600 <path to private key file>
)ssh -i <path to private key file> <user>@<IP address or DNS name of remote server>
)Если вы пользователь Windows
источник
использовать ...
не используйте разрешение 600, иначе вы можете случайно перезаписать свой ключ.
источник
это сработало для меня:
удалить старые ключи, хранящиеся на рабочей станции, также работает вместо
затем снова сделал то же самое ssh:
в экземплярах Ubuntu имя пользователя: ubuntu в Amazon Linux AMI имя пользователя: ec2-user
Мне не нужно было заново создавать экземпляр из изображения.
источник
Для экземпляров Debian EC2 пользователь
admin
.источник
Есть 2 шага для подключения:
Chmod 400 на ваш закрытый ключ, как остальные, не могут получить доступ к вашему ключу:
Чтобы подключиться к вашему экземпляру в SSH, вам нужно знать публичный IP-адрес вашего экземпляра:
Надеюсь, поможет !
источник
Если вы используете EBS, вы также можете попробовать смонтировать том EBS на работающем экземпляре. Затем смонтируйте его на этом работающем экземпляре и посмотрите, что происходит в / home. Вы можете видеть такие вещи, как пользователь ubuntu или ec2-user? или он имеет правильные открытые ключи в ~ / .ssh / authorized_keys
источник
Разрешение на
ec2-keypair.pem
должно быть400
chmod 400 ec2-keypair.pem
источник
Если у вас запущен образ AWS из Битнами. Имя пользователя будет битнами. Ура!
посмотрите мой отладчик и посмотрите на последний:
*
*
источник
В моем случае (Mac OS X) проблема была в типе прерывания файла. Попробуй это:
1.- Откройте файл .pem с помощью TextWrangler
2. В нижней части приложения проверьте, установлен ли тип прерывания «Windows (CRLF)».
источник
Его ec2-пользователь для Amazon Linux AMI и Ubuntu для образов Ubuntu. Кроме того, RHEL 6.4 и более поздняя версия ec2-пользователя RHEL 6.3 и более ранняя версия root
источник
Просто добавляю в этот список. Сегодня утром у меня были проблемы с новым пользователем, только что добавленным в экземпляр AWS EC2. Чтобы вырезать в погоню, проблема была SELinux (который был в обеспечении режиме), а также в том, что мой домашний каталог пользователя был на новом томе, подключенном к EBS. Почему-то я полагаю, что selinux не нравится этот другой том. Мне потребовалось некоторое время, чтобы понять, как я просматривал все другие обычные проблемы с ssh (/ etc / ssh / sshd_config был в порядке, конечно, пароль не разрешен, права были правильными и т. Д.)
Исправление?
Пока (пока я не пойму, как разрешить пользователю использовать ssh на другом томе или каким-то образом сделать этот том истинной домашней директорией):
Вот и все. Теперь мой новый пользователь может войти, используя свой собственный ключ id_rsa.
источник
Была такая же проблема. В доступе отказано (publickey) при попытке входа в систему с помощью 'ec2-user' или с помощью 'root'.
Погуглил номер AMI образа машины, и он указал информацию о входе в SSH прямо на вики-странице Debian.
Надеюсь это поможет.
источник