Мені потрібен SSH-доступ до екземпляра Amazon EC2 під управлінням Ubuntu 10.4. Все, що я маю, - це ім’я користувача та пароль Amazon. Будь-які ідеї?
Відповіді:
По суті, вам потрібен файл із закритим ключем, щоб увійти у ваш EC2 через SSH. Виконайте такі дії, щоб створити його:
ssh -i /path/to/private-key root@<ec2-public-dns-address>
- у останніх випусках уникнуто кореневого імені користувача на основі вибраного вами дистрибутиву 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.
Опинившись, ви можете видати, 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
якості призначення і вашого Інтернет - шлюзу , як Target .
Для отримання додаткової інформації перевірте: Усунення несправностей підключення до вашого екземпляра
Див. Також: Можливі причини таймауту при спробі отримати доступ до екземпляра 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
Проблемою може бути невхід в систему як правильного користувача для вашої ОС Distro. Для деяких нових 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, ви можете просто перезапустити машину взагалі, щоб ви мали однаковість між своїми кластерами. Якщо це ваша проблема, ви, мабуть, захочете отримати ті самі ОС Distro, принаймні для ваших 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 вашого екземпляра