Мне нужен SSH-доступ к инстансу Amazon EC2 под управлением Ubuntu 10.4. Все, что у меня есть, это имя пользователя и пароль Amazon. Любые идеи?
Ответы:
По сути, вам нужен файл закрытого ключа для входа в ваш EC2 через SSH. Чтобы создать его, выполните следующие действия:
ssh -i /path/to/private-key root@<ec2-public-dns-address>
- в последних выпусках не использовалось имя пользователя root, в зависимости от вашего выбора дистрибутива ec2-user
или ubuntu
вашего имени пользователя.ubuntu
логин вместо root
. Судя по всему, у меня есть экземпляр сервера ubuntu 12.04.
ec2-user
или может ubuntu
, но нет root
.
ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>
просто используйте ubuntu
вместо root
. Ваша проблема будет решена. Ура!
ШАГ 1) Загрузите закрытые ключи, назначенные вашей машине ec2 (которая загружается только один раз при создании. Поэтому рекомендуется где-то зафиксировать)
ШАГ 2) и запускайте следующие команды,
chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
Официальный документ : подключение к вашим экземплярам Linux / Unix с помощью SSH
Сначала вам нужно создать пару ключей - сделайте это с помощью консоли EC2. Затем используйте свой закрытый ключ для подключения по SSH к серверу (имя пользователя ec2-user
) с помощью клиента SSH по вашему выбору.
Войдя в систему, вы можете выполнить a, sudo su -
чтобы получить root, если хотите (примечание: вы не можете войти в систему как root напрямую).
Если вы используете MacOS, вы должны создать / отредактировать файл конфигурации SSH (~ / .ssh / config) и поместить что-то вроде:
Host *.amazonaws.com
User ubuntu
Port 22
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
IdentityFile ~/PATH/YOUR_DOWNLOADED_KEY.pem
Затем для подключения к любому из экземпляров EC2:
ssh MYNAME.amazonaws.com
Ничего более!
Чтобы настроить Ubuntu на AWS, выполните следующие действия:
Чтобы получить доступ к экземпляру через SSH, запустите:
Подключитесь к Linux, указав свой файл PEM, например
ssh -i "file.pem" ubuntu@x.x.x.x
Убедитесь, что ваш файл PEM имеет разрешение 600 ( chmod 600 file.pem
).
Если вы используете экземпляр VPC, и ваша группа безопасности верна (с правильными правилами) и она по-прежнему не работает, в разделе VPC проверьте свою подсеть, которая должна быть подключена к вашему VPC (обе используются вашим экземпляром), и настройте новое правило в таблице маршрутов , 0.0.0.0/0
в котором указан пункт назначения, а ваш шлюз - цель .
Для получения дополнительных сведений проверьте: Устранение неполадок при подключении к вашему экземпляру
См. Также: Возможные причины тайм-аута при попытке доступа к экземпляру EC2
1) Во- первых для ограничения файлов , как показано ниже permissonschmod
.pem file
chmod 400 my-key-pair.pem
2) Затем
ssh
с помощью следующих команд прямо из .ssh
папки
ssh -i my-key-pair.pem ec2-user@ec2-198-99-90-3.compute-1.amazonaws.com
Примечание: - Для перехода в .ssh
папку. Сначала нажмите, Ctrl + H
чтобы отобразить все скрытые файлы и, наконец,cd .ssh
Проблема может заключаться в том, что вы не входите в систему как правильный пользователь для вашего дистрибутива ОС. Для некоторых новых AMI имя пользователя может быть не «ubuntu», а «ec2-user». Например, для Amazon Linux я считаю, что пользователь является «пользователем ec2». Эрик Хаммонд приводит примеры здесь: http://alestic.com/2014/01/ec2-ssh-username
Мое предложение, попробуйте:
ssh -i /path/to/file.pem ec2-user@ec2...
ssh -i /path/to/file.pem ubuntu@ec2...
ssh -i /path/to/file.pem root@ec2...
Если у вас неправильный AMI, вы можете просто полностью перезагрузить компьютер, чтобы обеспечить единообразие среди ваших кластеров. Если это ваша проблема, вам, вероятно, понадобится тот же самый дистрибутив ОС, по крайней мере, для ваших Linux-компьютеров.
Делать то, что предлагается во всех этих ответах, недостаточно. Против каждого экземпляра вы видите группу безопасности. Когда вы запускаете новый экземпляр, у вас будет значение по умолчанию. Вам нужно отредактировать группу безопасности и добавить в нее порт ssh. Позже вам нужно будет добавить порты 8080, 8443, 80, 443 также, если вы хотите разместить свой веб-сайт.
Я принял предложение AWS использовать группы безопасности по умолчанию, которые включают порты All Trafic.
И после многих и многих попыток подключиться к моему новому экземпляру ec2 я просто понял, что мне нужно отредактировать мою используемую группу безопасности и вручную добавить к входящему и исходящему 22-й порт (ssh)!
Надеюсь, это поможет !
Первое разрешение на изменение файла pem от
chmod 400 path/to/key_pair.pem
Внутри файла ~ / .ssh / config добавьте следующие строки вверху файла
Host AWS
Hostname myserver.com
User myuser
IdentityFile path/to/.pem/file
port 22
Имя хоста принимает IP-адрес или ссылку на сервер, пользователь принимает имя пользователя сервера, а файл идентификации - это файл, загруженный из AWS при создании экземпляра. Просто запустите следующую команду в терминале
ssh AWS
и наслаждайся!
Примечание : для перехода в .ssh
папку. Сначала нажмите Ctrl + H
в домашней папке, чтобы отобразить все скрытые файлы и, наконец,cd .ssh
Убедитесь, что это проверено
закрытый ключ должен иметь разрешение 400
Убедитесь, что порт 22 открыт для экземпляра AWS, к которому вы пытаетесь получить доступ.
ssh -i privatekey.pem ubuntu@XXX.XXX.XXX.XXX
// XXX.XXX.XXX.XXX = публичный IP вашего экземпляра