Как изменить пару ключей для моего экземпляра ec2 в консоли управления AWS? Я могу остановить экземпляр, я могу создать новую пару ключей, но я не вижу ссылки для изменения пары ключей экземпляра.
amazon-web-services
amazon-ec2
ssh
key-pair
Майкл Чен
источник
источник
Ответы:
Этот ответ полезен в том случае, если у вас больше нет 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 / authorized_keys, чтобы вы могли войти в систему как пользователь, используя соответствующий закрытый ключ ssh.
Если вы хотите изменить, какой ssh-ключ вы используете для доступа к экземпляру, вам нужно отредактировать файл authorized_keys на самом экземпляре и преобразовать его в ваш новый открытый ключ ssh.
Файл author_keys находится в подкаталоге .ssh домашнего каталога пользователя, в который вы входите. В зависимости от того, какой AMI вы используете, он может находиться в одном из:
После редактирования файла author_keys всегда используйте другой терминал, чтобы подтвердить, что вы можете подключиться к экземпляру ssh, прежде чем отключиться от сеанса, который вы используете для редактирования файла. Вы не хотите ошибиться и полностью заблокировать себя.
Пока вы думаете о парах ключей ssh в EC2, я рекомендую загрузить свой собственный открытый ключ ssh в EC2 вместо того, чтобы Amazon сгенерировал пару ключей для вас.
Вот статья, которую я написал об этом:
Это относится только к новым экземплярам, которые вы запускаете.
источник
.pem
файл закрытого ключа на моем Mac, ноssh -i key.pem
не проходил аутентификацию (разрешение запрещено (publickey)). В консоли управления EC2 в разделе «Имя пары ключей» ничего не указано. Это тревожит меня. Как я могу установить это? На основе консоли управления создается впечатление, что ни одна из настроенных пар ключей не была назначена экземпляру!Запустите эту команду после загрузки вашего AWS Pem.
Затем сбросьте вывод в
authorized_keys
.Или скопируйте файл pem в свой экземпляр AWS и выполните следующие команды
а потом
источник
Инструкция от поддержки AWS EC2:
Примечание. Вам необходимо скопировать содержимое одной строкой - удалить все новые строки
это сохранит обновленный файл author_keys
Теперь попробуйте открыть новый сеанс SSH для вашего экземпляра, используя новый ключ pai.
Когда вы подтвердите, что можете использовать SSH в экземпляре, используя новую пару ключей, вы можете vi .ssh / авторизованный_ключ и удалить старый ключ.
Ответ на замечание Шегги:
Если вы не можете подключиться к экземпляру (например, ключ поврежден), используйте консоль AWS для отключения тома ( http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html). ) и подключите его к рабочему экземпляру, затем измените ключ на томе и снова подключите его к предыдущему экземпляру.
источник
Я заметил, что при управлении Elastic Beanstalk вы можете изменить активную пару ключей EC2. В разделе Elastic Beanstalk> Конфигурация> Безопасность выберите новый ключ из раскрывающегося списка ключей EC2 . Вы увидите это сообщение с вопросом, уверены ли вы:
Мой экземпляр уже был прекращен, когда я это сделал. Затем оно началось, завершилось и началось снова. Очевидно, «замена» означает завершение и создание нового экземпляра. Если вы изменили свой загрузочный том, сначала создайте AMI, а затем укажите этот AMI в той же форме Elastic Beanstalk> Configuration> Instances, что и Custom AMI ID . Это также предупреждает о замене экземпляров EC2.
После изменения пары ключей EC2 и пользовательского идентификатора AMI, а также после появления предупреждений о них нажмите кнопку « Сохранить», чтобы продолжить.
Помните, что IP-адрес изменяется при повторном создании экземпляра, поэтому вам нужно получить новый IP-адрес с консоли EC2, чтобы использовать его при подключении через SSH.
источник
Я прошел через этот подход и через некоторое время смог заставить его работать. Отсутствие реальных команд усложняло ситуацию, но я понял это. ОДНАКО - гораздо более простой подход был найден и протестирован вскоре после:
источник
Если следовать приведенным ниже шагам, это сэкономит много времени и не будет необходимости останавливать работающий экземпляр.
Вот и все. Наслаждайтесь :)
источник
Я считаю, что самый простой подход заключается в:
источник
Если вы используете платформу ElasticBeanstalk, вы можете изменить ключи, выполнив:
Это прервет текущий экземпляр и создаст новый с выбранными ключами / настройками.
источник
В этом вопросе заданы два сценария:
1) У вас нет доступа к файлу .pem , поэтому вы хотите создать новый.
2) У вас есть. доступ к файлу pem с вами, но вы просто хотите изменить или создать новый файл .pem для какой-либо уязвимости или в целях безопасности .
Так что, если вы потеряли свои ключи, вы можете прокрутить вверх и увидеть другие ответы . Но если вы просто измените свой .pem файл в целях безопасности, выполните следующие действия: -
файл и удалить или изменить предыдущий RSA отсюда.
Примечание: - Удалите осторожно, чтобы вновь созданный RSA не изменился.
Таким образом, вы можете изменить / связать новый файл .pem с запущенным экземпляром.
Вы можете отозвать доступ к ранее созданному файлу .pem в целях безопасности.
Надеюсь, это поможет!
источник
Самое простое решение - скопировать содержимое
в авторизованные ключи вашего экземпляра AWS в
Это позволит вам войти в экземпляр EC2 без указания файла pem для команды ssh. Вы можете удалить все остальные ключи, как только вы проверили подключение к нему.
Если вам нужно создать новый ключ, чтобы поделиться им с кем-то еще, вы можете сделать это с помощью:
который создаст файл private key.pem, и вы можете получить его с помощью:
Любой, у кого есть private_key.pem, сможет связаться с
источник
~/.ssh/authorized_keys
когда я не могу даже экземпляр SSH AWS?Вам не нужно вращать корневое устройство и менять открытый ключ SSH
authorized_keys
. Для этого можно использовать userdata для добавления ваших ключей ssh к любому экземпляру. Для этого сначала вам нужно создать новую KeyPair с помощью консоли AWS или с помощью ssh-keygen.Это создаст открытый ключ для вашей новой SSH KeyPair, скопируйте этот открытый ключ и используйте его в приведенном ниже сценарии.
После перезагрузки машина будет иметь указанный ключ публикации SSH. Удалите userdata после первого перезапуска. Подробнее о пользовательских данных при запуске .
источник
Предупреждение: не забудьте снова очистить данные пользователя. В противном случае эта клавиша будет нажата при каждом запуске экземпляра. Пошаговые инструкции .
источник
Я попробовал ниже шаги, и это работало без остановки экземпляра. Мое требование было - поскольку я изменил свою клиентскую машину, старый файл .pem не позволял мне войти в экземпляр ec2.
Вы увидите ваши старые ключи в этом файле.
ssh-keygen -f YOUR_PEM_FILE.pem -y Будет сгенерирован ключ. Добавьте ключ к ~ / .ssh / authorized_keys, открытому на шаге # 1. Нет необходимости удалять старый ключ.
С консоли AWS создайте новую пару ключей. Сохраните это в своей новой машине. Переименуйте его в старый файл pem - причина в том, что старый файл pem все еще связан с экземпляром ec2 в AWS.
Все сделано.
Я могу войти в AWS ec2 с моей новой клиентской машины.
источник
У вас есть несколько вариантов замены ключа вашего экземпляра EC2.
Поскольку первый вариант можно легко найти в ответах или в выбранной вами поисковой системе, я хочу сосредоточиться на диспетчере систем.
Systems Manager
Automation
на левой стороне.Execute Automation
AWSSupport-TroubleshootSSH
(обычно это на последней странице)Вы можете найти больше информации в официальной документации AWS
источник
Ответ Yegor256 сработал для меня, но я подумал, что просто добавлю несколько комментариев, чтобы помочь тем, кто не так хорош в установке дисков (как я!):
Amazon дает вам выбор того, что вы хотите назвать томом, когда вы присоединяете его. Вы должны использовать имя в диапазоне от / dev / sda - / dev / sdp. Более новые версии Ubuntu переименуют то, что вы там поместили, в / dev / xvd (x) или что-то в этом роде.
Поэтому я выбрал / dev / sdp в качестве имени для подключения в AWS, затем вошел на сервер и обнаружил, что Ubuntu переименовал мой том в / dev / xvdp1). Затем я должен был смонтировать диск - для меня я должен был сделать это так:
Пройдя через все эти обручи, я смог получить доступ к своим файлам в / mnt / tmp
источник
Это будет работать, только если у вас есть доступ к экземпляру, в котором вы хотите изменить / добавить ключ. Вы можете создать новую пару ключей. Или, если у вас уже есть пара ключей, вы можете вставить открытый ключ новой пары в файл author_keys на вашем экземпляре.
vim .ssh / authorized_keys
Теперь вы можете использовать закрытый ключ для этой пары и войти в систему.
Надеюсь это поможет.
источник
Моя проблема заключалась в том, что я пытался,
IP
а не публичноDNS
. Затем я попыталсяpublic DNS
и его решенаисточник
Если вы не можете войти в виртуальную машину и удалили ключи ssh, а также можете изменить пару ключей вашего ec2, выполнив следующие шаги. Шаг за шагом 1) остановите свой экземпляр ec2. 2) сделать снимок виртуальной машины и хранилища. 3) при создании создайте новую виртуальную машину, выберите свой снимок и создайте виртуальную машину из своего снимка. 4) при создании ВМ загружает вашу пару ключей. 5) Как только ваша виртуальная машина UP UP, вы можете ssh с новой парой ключей, и ваши данные также вернутся.
источник
Что ты можешь сделать...
Создайте новый профиль / роль экземпляра, к которому прикреплена политика AmazonEC2RoleForSSM.
Прикрепите этот профиль экземпляра к экземпляру.
источник
Спасибо за советы ребята. Обязательно буду помнить о них, когда мне нужно отдохнуть парой ключей. Однако в интересах эффективности и лени я придумал кое-что еще:
Надеюсь, что это может быть полезно для вас и сэкономит ваше время, а также минимизирует количество седых волос, которые вы получаете от таких вещей :)
источник