Мне нужен SSH-доступ к инстансу Amazon EC2 под управлением Ubuntu 10.4. Все, что у меня есть, - это имя пользователя и пароль Amazon. Любые идеи?
Как настроить SSH-доступ для инстанса Amazon EC2?
Ответы (13)
По сути, вам нужен файл закрытого ключа для входа в ваш EC2 через SSH. Чтобы создать его, выполните следующие действия:
- Перейдите https://console.aws.amazon.com/ec2/home и войдите в свою существующую учетную запись Amazon. .
- Click on "Key Pairs" on LHS or https://console.aws.amazon.com/ec2/home?region=us-east-1#s=KeyPairs.
- You should see the list of KEYs generated by you (or during EC2 creation process).
- Нажмите «Создать пару ключей», если вы ничего не видите или потеряли свой закрытый ключ.
- Введите уникальное имя и нажмите Enter.
- Появится панель загрузки, где вы сможете сохранить закрытый ключ, сохраните его.
- Храните его где-нибудь с разрешением файла "0600".
- Click on "Instances" on LHS or https://console.aws.amazon.com/ec2/home?region=us-east-1#s=Instances
- You should see the list of ec2-instances, if you don't see any, then please create one.
- Нажмите на машину EC2 и запишите публичный DNS-адрес.
- Open your Terminal (in Linux) and type the following command
ssh -i /path/to/private-key root@<ec2-public-dns-address>
- the root username has been avoided in the latest releases, based on your distribution selectec2-user
orubuntu
as your username.- нажмите Enter
- Вот и все.
Connection refused
от ubuntu. использование замазки на win7 - это нормально. где может быть ошибка?
- person t q; 28.08.2012
ssh -v [email protected]
- person Rakesh Sankar; 28.08.2012
ubuntu
логин вместо root
. Судя по всему, у меня есть экземпляр ubuntu server 12.04.
- person Vasiliy Stavenko; 25.11.2012
/home/kasun/Downloads/awsKey.pem
- person tony gil; 12.05.2017
ec2-user
или, может быть, ubuntu
, но не root
.
- person Jorge Orpinel Pérez; 10.09.2018
chmod 400 /path/to/private-key
в свой ответ?
- person Smily; 06.08.2019
ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>
просто используйте ubuntu
вместо root
. Ваша проблема будет решена. Ваше здоровье!
ШАГ 1) Загрузите закрытые ключи, назначенные вашей машине ec2 (которая загружается только один раз при создании. Поэтому рекомендуется где-то зафиксировать)
ШАГ 2) и выполните следующие команды,
chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem [email protected]
Официальный документ: Подключение к вашим экземплярам Linux / Unix Использование SSH
Обратите внимание, что текущий пользователь 13.04 - «ubuntu» ssh -i ./mykey.pem [email protected]
Сначала вам нужно создать пару ключей - сделайте это с помощью консоли EC2. Затем используйте свой закрытый ключ для подключения к серверу по SSH (имя пользователя ec2-user
) с помощью клиента SSH по вашему выбору.
Войдя в систему, вы можете выдать 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, выполните следующие действия:
- Войдите в Amazon Web Services и выберите EC2.
- Выберите Запуск экземпляра и следуйте указаниям мастера, выбрав правильный образ (Ubuntu), тип экземпляра, настроив сеть и подсеть VPC, хранилище и разрешив доступ по SSH в группах безопасности. Затем Запустить.
- В первый раз вам, вероятно, потребуется настроить пару ключей и назначить ее экземпляру. Вы также можете создать пару ключей в Key Pairs. После создания загрузите файл PEM и храните его в надежном месте.
- После запуска экземпляра подождите, пока он не будет инициализирован и запущен.
Чтобы получить доступ к экземпляру через SSH, запустите:
Подключитесь к Linux, указав свой файл PEM, например
ssh -i "file.pem" [email protected]
Убедитесь, что ваш файл PEM имеет разрешение 600 (
chmod 600 file.pem
).
Исправление проблем
Если вы используете экземпляр VPC, и ваша группа безопасности указана правильно (с правильными правилами), но она по-прежнему не работает, в разделе VPC проверьте свою подсеть, которая должна быть прикрепленным к вашему VPC (оба используются вашим экземпляром) и настроить новое правило в таблице маршрутов, в котором 0.0.0.0/0
в качестве назначения em> и ваш Интернет-шлюз как Target.
Дополнительные сведения см. На странице Устранение неполадок при подключении к вашему экземпляру
См. Также: Возможные причины тайм-аута при попытке доступа к экземпляру EC2
1) Сначала chmod
.pem file
для ограничения прав доступа к файлам, как показано ниже.
chmod 400 my-key-pair.pem
2) Затем ssh
следующими командами прямо из папки .ssh
ssh -i my-key-pair.pem [email protected]
Примечание. - для перехода в .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 [email protected]
// XXX.XXX.XXX.XXX = общедоступный IP-адрес вашего экземпляра