Я пытаюсь скопировать открытый ключ 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 в нескольких регионах.
Надеюсь, это поможет :)