Подтвердить что ты не робот

Единственная ключевая пара для всех регионов

Можно ли использовать один и тот же файл пары ключей во всех регионах? Я хочу сохранить доступ к ssh как можно проще.

Я установил один файл для каждого региона. Я попытался загрузить тот же файл в другом регионе, но он не работал должным образом.

4b9b3361

Ответ 1

Между тем, это стало возможным благодаря импорту ваших собственных пар ключей, см. Вступительный пост Новая функция Amazon EC2: принесите свою собственную пару ключей:

Теперь вы можете импортировать свою собственную пару ключей RSA (или, если быть точнее, общедоступную половину) для использования с вашими экземплярами Amazon EC2.

Зачем тебе это делать? Вот несколько причин:

  1. Доверие - импортируя свою собственную пару ключей, вы можете гарантировать полный контроль над своими ключами.
  2. Безопасность -You может быть уверена, что ваш закрытый ключ никогда не передавался по проводам.
  3. Управление несколькими регионами. Вы можете использовать один и тот же открытый ключ в нескольких регионах AWS. [Акцент мой]

Этот подход действительно очень полезен/удобен - я использую его уже некоторое время, и он значительно упростил использование EC2 для нескольких регионов и учетных записей.

Эрик Хаммонд предоставляет более подробную информацию и краткое руководство в своей статье Загрузка личных ключей ssh в Amazon EC2:

Amazon недавно запустила возможность загрузки своего собственного открытого ключа ssh в EC2, чтобы его можно было передавать новым экземплярам при запуске. До этого вам всегда приходилось использовать пару ключей ssh, сгенерированную Amazon.

Соответственно, я рекомендую следовать его статье относительно (несколько простых) шагов, необходимых для достижения этой цели.

Ответ 2

Если вы можете импортировать свой собственный открытый ключ RSA, вы можете поделиться ключом, созданным Amazon, по регионам:

  • Используя ключ, который вы хотите предоставить, войдите в экземпляр в области, где он был сгенерирован.
  • Открыть ~/.ssh/authorized_keys
  • Найдите строку с ключом, который хотите разделить (конец строки должен показывать имя ключевой пары, которое вы указали при ее создании)
  • Скопируйте все строки до первого символа имени ключевой пары. Должно быть 382 символа.
  • Сохраняйте скопированные данные в файл локально (например, на компьютер, на котором вы запустили сеанс SSH FROM).
  • Войдите в консоль EC2 и переключитесь в область, к которой вы хотите поделиться ключом.
  • Выберите "Управление ключами"
  • Нажмите "Импортировать пару ключей" и укажите его в файле, созданном на шаге 5. Вероятно, вы хотите дать ключевой паре то же имя, что и вы, в регионе, в котором вы импортируете его.
  • Запустить экземпляры с помощью этой пары ключей. Вы должны иметь возможность регистрироваться в экземплярах в новом регионе, используя тот же закрытый ключ, что и в регионе, где вы его создали.

Ответ 3

Если вы хотите создать пару ключей ssh в консоли AWS и загрузить эту пару ключей во все другие регионы.

  1. Создайте новую пару ключей ssh в консоли или используйте тот, который у вас уже есть.

  2. Создайте открытый ключ ssh из закрытого ключа ssh (pem> pub)

    $ ssh-keygen -y -f ~/.ssh/MySSHKeyPair.pem >> ~/.ssh/MySSHKeyPair.pub

  3. Загрузите открытый ключ ssh во все регионы. (удалить из списка регион, в котором уже есть ключ ssh)

    $ for region in us-east-1 us-east-2 us-west-1 us-west-2 ap-south-1 ap-northeast-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 eu-central-1 eu-west-1 eu-west-2; do aws ec2 import-key-pair --key-name MySSHKeyPair --public-key-material file://~/.ssh/MySSHKeyPair.pub --region $region; done

  4. Получить список всех пар ключей ssh во всех регионах.

    $ for region in us-east-1 us-east-2 us-west-1 us-west-2 ap-south-1 ap-northeast-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 eu-central-1 eu-west-1 eu-west-2; do aws ec2 describe-key-pairs --region $region; done

Ответ 4

Сгенерированный AWS ключ может быть перенесен в другой регион:

  • Войдите в экземпляр, созданный с помощью ключа, который вы хотите перенести.
  • Установите ec2-api-инструменты, если они еще не присутствуют (sudo apt-get install ec2-api-tools)

Используйте эту команду

ec2-import-keypair keypair-name --public-key-file ~/.ssh/authorized_keys --region aws-region

С вышеприведенными шагами я передал созданный AWS ключ из Сингапурского региона в район штата Орегон, и тот же ключ работал отлично для меня.

Также перейдите по этой ссылке:

https://forums.aws.amazon.com/thread.jspa?threadID=52654

Ответ 5

Вы также можете использовать aws cli для передачи пары ключей в другой регион.

aws ec2 import-key-pair --key-name my-key --public-key-material file://~/.ssh/id_rsa.pub --region my-region

Подробнее см. эту проблему в GitHub.

Ответ 6

Загрузите файл pem, который мне нужно скопировать в другие регионы, а затем...

# chmod 400 /home/ec2-user/mydec15a.pem

# ssh-keygen -y -f /home/ec2-user/mydec15a.pem >> ~/.ssh/MySSHKeyPair.pub

#  aws ec2 import-key-pair --key-name mydec15a --public-key-material file://~/.ssh/MySSHKeyPair.pub --region us-west-2

Ответ 7

  1. Создайте новую пару ключей ssh в консоли или используйте тот, который у вас уже есть.
  2. Создайте открытый ключ ssh из закрытого ключа ssh (pem> pub) $ ssh-keygen -y -f ~/.ssh/rainman_key.pem >> ~/.ssh/rainman_public.pub
  3. Загрузите открытый ключ ssh во все регионы, кроме того, где он существует. Затем с помощью python экспортируйте его. Ниже приведен код:
import os

regions=["us-east-1","us-east-2","us-west-1","us-west-2","ap-east-1","ap-south-1","ap-northeast-2","ap-southeast-1","ap-southeast-2","ap-northeast-1","ca-central-1" ,"eu-central-1","eu-west-1","eu-west-2","eu-west-3","eu-north-1","sa-east-1"]

for region in regions:
    os.system("aws ec2 import-key-pair --key-name rainman_key --public-key-material file://rainman_public.pub --region "+region)**