Як змінити пару ключів для мого екземпляра ec2 в консолі управління AWS? Я можу зупинити екземпляр, можу створити нову пару ключів, але я не бачу жодного посилання, щоб змінити пару ключів екземпляра.
Як змінити пару ключів для мого екземпляра ec2 в консолі управління AWS? Я можу зупинити екземпляр, можу створити нову пару ключів, але я не бачу жодного посилання, щоб змінити пару ключів екземпляра.
Відповіді:
Ця відповідь корисна у випадку, коли у вас більше немає доступу SSH до існуючого сервера (тобто ви втратили приватний ключ).
Якщо у вас все ще є доступ до SSH, скористайтеся однією з відповідей нижче.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#replacing-lost-key-pair
Ось що я зробив, завдяки публікації в блозі Еріка Хаммонда:
/dev/xvda1
об’єм (назвемо його об’ємом А) - дивіться тут/dev/xvdf
(або /dev/sdf
)SSH до нового мікроекземпляра та об'єм кріплення від A до /mnt/tmp
$ sudo mount / dev / xvdf1 / mnt / tmp
Скопіювати ~/.ssh/authorized_keys
в/mnt/tmp/home/ubuntu/.ssh/authorized_keys
/dev/xvda
.pem
файлЦе воно.
mkdir /mnt/tmp
а потім mount /dev/xvdf /mnt/tmp
слід зробити трюк для №5. І не забувайте, що крок 13., мабуть, знаходиться rm ~/.ssh/known_hosts
на скриньках, з якими ви підключалися.
.ssh/authorized_keys
файлу.
Після запуску екземпляра немає можливості змінити ключ, пов'язаний з екземпляром, на рівні метаданих, але ви можете змінити ключ ssh, який використовується для підключення до цього примірника.
У більшості AMI є процес запуску, який завантажує відкритий ключ ssh і встановлює його у файл .ssh / autori_keys, щоб ви могли ввійти до цього користувача за допомогою відповідного приватного ключа ssh.
Якщо ви хочете змінити ключ ssh, який ви використовуєте для доступу до екземпляра, вам потрібно буде відредагувати файл санкціонованих_кейсів у самому екземплярі та перетворити на новий відкритий ключ ssh.
Файл санкціонованих_кейсів знаходиться у підкаталозі .ssh під домашнім каталогом користувача, на якому ви входите. Залежно від AMI, який ви працюєте, він може бути в одному з:
/home/ec2-user/.ssh/authorized_keys
/home/ubuntu/.ssh/authorized_keys
/root/.ssh/authorized_keys
Після редагування файла дозволеного_кейса завжди використовуйте інший термінал, щоб підтвердити, що ви можете ввійти в екземпляр до відключення від сеансу, який ви використовуєте для редагування файлу. Ви не хочете помилитися і повністю закрити себе з екземпляра.
У той час як ви думаєте про ключові пари ssh на EC2, я рекомендую завантажувати свій власний відкритий ключ ssh на EC2, замість того, щоб Amazon генерував ключ для вас.
Ось стаття, яку я написав про це:
Завантаження персональних ключів ssh на Amazon EC2
http://alestic.com/2010/10/ec2-ssh-keys
Це стосується лише нових запущених екземплярів.
.pem
файл приватного ключа на своєму Mac, однак ssh -i key.pem
не підтверджує автентифікацію (дозвіл відмовлено (publickey)). У консолі управління EC2 під назвою Key Pair нічого не вказано. Це мене насторожує. Як я можу це встановити? На основі консолі управління виявляється, що жодна з налаштованих мною клавіш не присвоюється екземпляру!
Виконайте цю команду після завантаження файлу AWS.
ssh-keygen -f YOURKEY.pem -y
Потім скиньте висновок у authorized_keys
.
Або скопіюйте pem-файл у свій примірник AWS та виконайте наступні команди
chmod 600 YOURKEY.pem
і потім
ssh-keygen -f YOURKEY.pem -y >> ~/.ssh/authorized_keys
Інструкція з підтримки AWS EC2:
це збереже оновлений файл з дозволеними ключами
тепер спробуйте відкрити для вашого примірника новий сеанс SSH, використовуючи новий ключ pai
Коли ви підтвердите, що можете ввести SSH в екземпляр за допомогою нової пари ключів, ви можете .ssh / pooblasti_key та видалити старий ключ.
Відповідь на зауваження Шаггі:
Якщо ви не в змозі підключитися до примірника (наприклад, ключ пошкоджений), використовуйте консоль AWS для від'єднання гучності ( http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html ) і повторно приєднати його до робочого екземпляра, ніж змінити ключ на гучності та повторно приєднати його до попереднього екземпляра.
Я помітив, що, управляючи Elastic Beanstalk, ви можете змінити свою активну пару ключів EC2. У розділі Elastic Beanstalk> Configuration> Security виберіть новий ключ зі спадного меню пари клавіш EC2 . Ви побачите це повідомлення із запитанням, чи впевнені ви:
EC2KeyName: зміни параметрів EC2KeyName не вступлять в силу негайно. Кожен із існуючих екземплярів EC2 буде замінено, а ваші нові налаштування набудуть чинності.
Мій екземпляр вже було припинено, коли я це робив. Потім він почався, припинився і почався знову. Мабуть, "заміна" означає припинення та створення нового примірника. Якщо ви змінили об'єм завантаження, спершу створіть AMI, а потім вкажіть, що AMI у тій самій Elastic Beanstalk> Конфігурація> Екземпляри форми, що і спеціальний ідентифікатор AMI . Це також попереджає про заміну екземплярів EC2.
Змінивши пару ключів EC2 та спеціальний ідентифікатор AMI та побачивши попередження про обидва, натисніть Зберегти, щоб продовжити.
Пам'ятайте, що IP-адреса змінюється, коли екземпляр заново створюється, тому вам потрібно буде отримати нову IP-адресу з консолі EC2, яку використовуватимуться під час з'єднання через SSH.
Я пройшов цей підхід і через деякий час зміг змусити його працювати. Відсутність фактичних команд зробило це важко, але я зрозумів це. ЯКЩО - значно простіший підхід був знайдений та протестований незабаром після:
Якщо дотримуватися нижче кроків, це заощадить багато часу і не потрібно буде зупиняти запущений екземпляр.
Це все. Насолоджуйтесь :)
Я вважаю, що найпростіший підхід:
Якщо ви використовуєте платформу ElasticBeanstalk, ви можете змінити клавіші, перейшовши:
Це припинить поточний екземпляр і створить новий із вибраними клавішами / налаштуваннями.
У цьому питанні задаються два сценарії: -
1) У вас немає доступу до файлу .pem , тому ви хочете створити новий.
2) У вас є. доступ до файлу pem, але ви просто хочете змінити або створити новий .pem-файл для певних цілей вразливості чи безпеки .
Тож якщо ви втратили ключі, ви можете прокрутити вгору та переглянути інші відповіді . Але якщо ви просто зміните файл .pem з метою безпеки, виконайте наступні дії: -
1) Перейдіть до входу в консоль AWS та створіть новий .pem-файл із секції пари ключів. Він автоматично завантажить .pem файл на ваш ПК
2) змінити дозвіл на 400, якщо ви використовуєте Linux / ubuntu, натисніть команду нижче
chmod 400 yournewfile.pem
3) Створіть RSA щойно завантаженого файлу у вашій локальній машині
ssh-keygen -f yournewfile.pem -y
4) Скопіюйте код RSA звідси
5) Тепер SSH у ваш примірник за допомогою попереднього .pem-файлу
ssh -i oldpemfileName.pem username@ipaddress
sudo vim ~/.ssh/authorized_keys
6) Дайте простір на два-два рядки та вставте сюди скопійований RSA нового файлу, а потім збережіть файл
7) Тепер ваш новий .pem файл пов'язаний із запущеним екземпляром
8) Якщо ви хочете відключити попередній доступ до файлу .pem, просто відредагуйте
sudo vim ~/.ssh/authorized_keys
файл і видаліть або змініть попередній RSA звідси.
Примітка: - Видаліть обережно, щоб новостворений RSA не змінився.
Таким чином, ви можете змінити / підключити новий .pem файл зі своїм запущеним екземпляром.
Ви можете відкликати доступ до раніше створеного .pem-файлу через цілі безпеки.
Сподіваюся, це допоможе!
Найпростішим рішенням є копіювання вмісту
~/.ssh/id_rsa.pub
у дозволені_кількі вашої інстанції AWS за адресою
~/.ssh/authorized_keys
Це дозволить вам ssh в екземпляр EC2, не вказуючи pem-файл для команди ssh. Після випробування підключення до нього ви можете видалити всі інші ключі.
Якщо вам потрібно створити новий ключ, щоб поділитися ним з кимось іншим, це можна зробити за допомогою:
ssh-keygen -t rsa
який створить приватний файл key.pem, і ви можете отримати відкритий ключ цього ключа за допомогою:
ssh-keygen -f private_key.pem -y > public_key.pub
Усі, хто має private_key.pem, зможуть зв'язатись
ssh user@host.com -i private_key.pem
~/.ssh/authorized_keys
коли я навіть не можу SSH aws екземпляр?
Вам не потрібно обертати кореневий пристрій та змінювати відкритий ключ SSH authorized_keys
. Для цього можна використовувати дані користувача, щоб додати вам ssh ключі до будь-якого примірника. Для цього вам потрібно створити новий KeyPair за допомогою консолі AWS або через ssh-keygen.
ssh-keygen -f YOURKEY.pem -y
Це створить відкритий ключ для вашого нового SSH KeyPair, скопіюйте цей відкритий ключ та використовуйте його в нижченаведеному сценарії.
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0
--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"
#cloud-config
cloud_final_modules:
- [scripts-user, always]
--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"
#!/bin/bash
/bin/echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6xigPPA/BAjDPJFflqNuJt5QY5IBeBwkVoow/uBJ8Rorke/GT4KMHJ3Ap2HjsvjYrkQaKANFDfqrizCmb5PfAovUjojvU1M8jYcjkwPG6hIcAXrD5yXdNcZkE7hGK4qf2BRY57E3s25Ay3zKjvdMaTplbJ4yfM0UAccmhKw/SmH0osFhkvQp/wVDzo0PyLErnuLQ5UoMAIYI6TUpOjmTOX9OI/k/zUHOKjHNJ1cFBdpnLTLdsUbvIJbmJ6oxjSrOSTuc5mk7M8HHOJQ9JITGb5LvJgJ9Bcd8gayTXo58BukbkwAX7WsqCmac4OXMNoMOpZ1Cj6BVOOjhluOgYZbLr" >> /home/hardeep/.ssh/authorized_keys
--//
Після перезавантаження машина матиме вказаний ключ публікації SSH. Видаліть дані користувача після першого перезавантаження. Детальніше про користувацькі дані при запуску .
Попередження: Не забудьте знову очистити дані користувача. Інакше ця клавіша буде натиснута при кожному запуску екземпляра. Покрокові інструкції .
#cloud-config
bootcmd:
- echo 'ssh-rsa AAAAB3Nz...' > /root/.ssh/authorized_keys
Я спробував нижче кроків, і це спрацювало, не зупиняючи примірник. Моя вимога полягала в тому, що - коли я змінив клієнтську машину, старий .pem-файл не дозволяв мені входити в екземпляр ec2.
Ви побачите свої старі ключі у цьому файлі.
ssh-keygen -f YOUR_PEM_FILE.pem -y Він створить ключ. Додайте ключ до ~ / .ssh / pooblaščeних ключів, відкритих у кроці №1. Не потрібно видаляти старий ключ.
На консолі AWS створіть нову пару ключів. Зберігайте його у вашій новій машині. Перейменуйте його на старий pem-файл - причина, коли старий pem-файл все ще пов'язаний із екземпляром ec2 в AWS.
Все зроблено.
Я можу увійти до AWS ec2 з моєї нової клієнтської машини.
У вас є кілька варіантів заміни ключа вашого екземпляра EC2.
Оскільки перший варіант можна легко знайти у відповідях або у пошуковій системі на ваш вибір, я хочу зосередитись на System Manager.
Systems Manager
Automation
ліворуч.Execute Automation
AWSSupport-TroubleshootSSH
(зазвичай це на останній сторінці)Додаткову інформацію можна знайти в Офіційній документації AWS
Відповідь Yegor256 працювала на мене, але я подумав, що я просто додам кілька коментарів, щоб допомогти тим, хто не так добре вміє диски (як я!):
Amazon надає вам вибір того, як ви хочете назвати гучність, коли ви додаєте її. Ви використовуєте ім'я в діапазоні від / dev / sda - / dev / sdp. Новіші версії Ubuntu потім перейменовують те, що ви там помістили, в / dev / xvd (x) або щось для цього.
Тож для мене я вибрав / dev / sdp як ім'я ім'я кріплення в AWS, потім я увійшов на сервер і виявив, що Ubuntu перейменував мій том у / dev / xvdp1). Потім мені довелося встановити накопичувач - для мене я повинен був зробити це так:
mount -t ext4 xvdp1 /mnt/tmp
Після переходу через усі ці обручі я міг отримати доступ до своїх файлів за адресою / mnt / tmp
Це буде працювати лише в тому випадку, якщо у вас є доступ до екземпляра, до якого потрібно змінити / додати ключ. Ви можете створити нову пару ключів. Або якщо у вас вже є пара ключів, ви можете вставити відкритий ключ нової пари у файл санкціонованих_кілей у вашому екземплярі.
vim .ssh / санкціонований_кейс
Тепер ви можете використовувати приватний ключ для цієї пари та увійти.
Сподіваюсь, це допомагає.
якщо ви не можете увійти в VM та видалили ключ ssh, і ви також можете змінити пару ключів вашого ec2, виконавши наведені нижче кроки. Перейдіть крок за кроком 1) зупиніть ваш екземпляр ec2. 2) зробити знімок відеомагнітофона та зберігання. 3) створіть новий VM під час його створення виберіть знімок та створіть VM зі свого знімка. 4) під час створення VM завантажується ваша клавіша. 5) Після того, як ваш VM UP, ви можете схилити нову пару ключів, і ваші дані також повернуться.
Що ти можеш зробити ...
Створіть новий профіль / роль інстанції, з яким додається політика AmazonEC2RoleForSSM.
Приєднайте цей інстанційний профіль до примірника.
Дякую за поради, хлопці. Однозначно матиму їх на увазі, коли мені потрібно відпочити ключові пари. Однак в інтересах ефективності та ліні я придумав щось інше:
Сподіваємось, це може вам стати в нагоді та заощадити час, а також мінімізувати кількість білого волосся, яке ви отримуєте від таких матеріалів :)