Назад | Перейти на главную страницу

ssh-copy-id не работает с файлами .pem

Я пытаюсь скопировать открытый ключ SSH на несколько экземпляров EC2.

Читая ssh-copy-id man-страница, при передаче ключевого файла программа добавляет .pub расширение, если оно отсутствует.

Ключи AWS генерируются: .pem формат, и я могу использовать этот обходной путь:

ssh-keygen -y -f my-new-key.pem | ssh user@host \
-i already-on-remote-server-key.pem 'cat > ~/.ssh/authorized_keys'

Но сомнения остаются ... Можно ли использовать ssh-copy-id с .pem файл или единственное решение - использовать обходной путь?

Ты можешь использовать ssh-copy-id вместе с ssh-agent. Загрузите my-new-key.pem файл вашему агенту, используя ssh-add ~/.ssh/my-new-key.pem а потом ssh-copy-id скопирует его в новый экземпляр.

В качестве альтернативы вы можете запустить новый ssh-agent для лучшего контроля над тем, что будет скопировано:

~ $ ssh-agent bash -c "ssh-add ~/.ssh/my-new-key.pem; ssh-copy-id -i already-on-remote-server-key.pem user@host"

Один незапрашиваемый совет - вы можете повторно использовать ключи EC2 во всех регионах AWS, чтобы уменьшить количество ключей, которые вам нужно генерировать и поддерживать: Повторное использование пары ключей EC2 в нескольких регионах.

Надеюсь, это поможет :)