Как добавить файл PEM как закрытый ключ SSH к «известным хостам»


8

У меня есть рабочий стол Ubuntu, и мне дали файл PEM ( mykey.pem), который является закрытым ключом SSH для сервера Linux. Я пытаюсь выяснить, где этот файл PEM должен быть размещен локально на моей машине, и как его можно настроить / добавить в мои "известные SSH хосты".

Поиск в этом предмете приводит к множеству ответов / статей для создания ключей SSH, но не для добавления существующего ключа к известным хостам. Идеи?


// , Хороший вопрос! Это должно работать: $ ssh-keygen -y -f mykey.pem >> ~ / .ssh / authorized_keys Слишком много ИТ-отделов просто отправляют файл PEM без каких-либо инструкций о том, как использовать его локально. Если кому-то нужно больше об этом, я могу добавить ответ.
Натан Басанезе

Ответы:


5

Я не знаю о различных типах ключей SSH. Но вы бы поместили открытый ключ на целевой компьютер, а не свой личный ключ. Ваш закрытый ключ остается приватным.

И открытый ключ исходного компьютера должен быть размещен на компьютере Dest. ~/.ssh/authorized_keys Это можно сделать вручную или с помощью ssh-keygenкоманды.

Я предлагаю вам сделать cat на открытом ключе на исходном компьютере и cat на author_keys на компьютере dest и убедиться, что исходный ключ выглядит так же, как и тот, что в авторизованных ключах

Файл known_hosts - это то, что добавляется автоматически. Вам не нужно редактировать его вручную. Вы можете подключиться даже после удаления файла known_hosts.

РЕДАКТИРОВАТЬ-

Чтобы включить некоторые комментарии в ответ. Открытый ключ происходит от закрытого ключа. Обычно закрытый ключ остается закрытым, но OP получал закрытый ключ, это необычно, но это интересный способ сделать это, потому что это означает, что компьютер dest уже может иметь свой открытый ключ. Таким образом, он мог войти в систему, не добавляя ничего к авторизованному ключу компьютера Dest. ssh -i всегда принимает закрытый ключ. Ему нужно только сделать, чтобы ssh -i path/to/privatekeyfile user@dest OP использовал «openstack», какой-то облачный сервис, и, как говорит сайт openstack, docs.openstack.org/user-guide/content/ssh-into-instance.html $ ssh -i MyKey.pem ubuntu@10.0.0.2Так что, как бы ни назывался файл закрытого ключа и где он хранится, вы указываете, что при выполненииssh -i


Спасибо @barlop (+1) - если вы прочитаете первое предложение моего вопроса, вы увидите, что я заявляю, что файл PEM является закрытым ключом SSH, и что я пытаюсь правильно установить его на свой компьютер. Я не беспокоюсь о серверной стороне, которая уже позаботилась обо мне. Итак, мой вопрос: как мне установить закрытый ключ на мою машину с Ubuntu? Это был ключ, который я не генерировал с помощью ssh-keygen; это было дано мне надежным источником.
Смеб

1
@smeeb, почему кто-то дает вам свой закрытый ключ? их закрытый ключ предназначен для них.
Barlop

Еще раз спасибо @barlop (+1) - Но это не кто-то, а OpenStack , генерирующий облако IaaS. Это мощный проект с открытым исходным кодом, за которым стоят миллионы человеко-часов и корпоративная поддержка. Представление 30 000 футов здесь: чтобы создать новый «экземпляр приложения» в OpenStack Horizon, вам необходимо сначала создать пару ключей SSH. OpenStack автоматически устанавливает открытый ключ на новый экземпляр. Предполагается, что вы скачаете закрытый ключ (файл PEM) и установите его локально, чтобы при желании вы могли включить SSH в экземпляр.
Смеб

@smeeb Я не так много знаю об openstack, но вы можете сделать, например, ssh -i ~/.ssh/id_rsa bodhi@ssh.server.com или как сайт openstack говорит docs.openstack.org/user-guide/content/ssh-into-instance.html$ ssh -i MyKey.pem ubuntu@10.0.0.2 Так что, как бы ни назывался закрытый ключ файл есть, и где бы он ни хранился, вы указываете это при выполненииssh -i
barlop

1
Кроме того, поскольку открытый ключ исходит из закрытого ключа, возможно, эта команда сделает это, поскольку у них уже должен быть открытый ключ, если они дают вам закрытый ключ. Таким образом, вам не нужно будет добавлять открытый ключ для author_keys на их компьютере, как это уже было бы там.
Бароп
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.