Как отправить мои открытые ключи на сервер EC2?

9

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

Я пробовал scp и ssh-copy-id, но booth не может использовать параметр -i для соединения с помощью пар ключей.

Параметр ssh-copy-id -i - это файл (открытый ключ) для отправки.

Что я могу сделать, чтобы загрузить его?

TiagoGouvea
источник
scp поддерживает -i. Какую команду вы пытались выполнить и каков результат?
dfranke
Я также не совсем понимаю, что вы пытаетесь сделать. Вы пытаетесь запустить экземпляр с ключом ssh, который вы сгенерировали локально, или у вас уже есть запущенный экземпляр, на который вы пытаетесь установить второй ключ?
dfranke
dfranke. В настоящее время я могу подключиться к экземпляру, используя ssh -i file.pem. Но мне нужно сделать cron на стороне клиента с помощью rsync, тогда мне нужно иметь доступ без аутентификации.
TiagoGouvea
Я создаю открытые ключи на стороне клиента, но не могу отправить их на сервер. Это единственная проблема. Как отправить мои открытые ключи с клиента на сервер. :( Я думаю, что это просто, но в настоящее время я не могу.
TiagoGouvea
@TiagoGouvea scpподдерживает -i. Вы можете использовать его как scp -i your_pem.pem your_file user@aws_ip:/home/user/. Возможно, вы получаете ошибку из-за ваших прав доступа к файлу pem. Это должно быть 400(то есть chmod 400 your_pem.pem)
Гулерия

Ответы:

10

Хорошо! Я нашел способ.

На стороне клиента:

cat ~ / .ssh / id_rsa.pub | ssh -i aws.pem ubuntu @ ip_address "cat - >> ~ / .ssh / authorized_keys2"

Все сделано!

TiagoGouvea
источник
Какова реальная проблема, которую вы пытаетесь решить, которая заставляет вас думать, что это способ ее решения?
bobmagoo
Проблема, которую это решило для меня, заключается в том, что я хотел, чтобы один локальный ключ вставил мой локальный ключ публикации в новый экземпляр EC2 authorized_keys. Избегает делать scp, затем войти через pem и поместить его в нужное место.
ljs.dev