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

13421
smeeb

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

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

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

1 ответ на вопрос

5
barlop

I don't know about different types of SSH keys. But you would put the public key on the destination computer, not your private key. Your private key stays private.

And the public key of the source computer should be placed on the dest computer in ~/.ssh/authorized_keys This can be done manually or via the ssh-keygen command.

I suggest you do cat on the public key on the source computer and cat on authorized_keys on the dest computer and make sure the source's one looks like it is the same format as those in authorized_keys

The known_hosts file is something which gets appended to automatically. You don't need to edit it manually. You can connect even after deleting the known_hosts file.

EDIT-

To incorporate some of the comments into the answer. The public key comes from the private key. Normally the private key stays private, but the OP was being given a private key, this is unusual, but it's an interesting way of doing it, because it means the dest computer can then already have his public key. So he could log in without having to add anything to the dest computer's authorized_keys. ssh -i always takes a private key. He need only do ssh -i path/to/privatekeyfile user@dest The OP is using "openstack", some cloud service, and as the openstack site says docs.openstack.org/user-guide/content/ssh-into-instance.html $ ssh -i MyKey.pem ubuntu@10.0.0.2 So whatever the name of the private key file is, and wherever it is stored, you specify that when doing ssh -i

Спасибо @barlop (+1) - если вы прочитаете первое предложение моего вопроса, вы увидите, что я заявляю, что файл PEM является закрытым ключом SSH, и что я пытаюсь правильно установить его на свой компьютер. Я не беспокоюсь о серверной части, о которой я уже позаботился. Итак, мой вопрос: как мне установить закрытый ключ на мою машину с Ubuntu? Это был ключ, который я не генерировал с помощью `ssh-keygen`; это было дано мне надежным источником. smeeb 9 лет назад 0
@smeeb почему кто-то дает вам свой закрытый ключ? их закрытый ключ предназначен для них. barlop 9 лет назад 1
Еще раз спасибо @barlop (+1) - Но это не кто-то, а [OpenStack] (http://www.openstack.org/), генерирующий облако IaaS. Это мощный проект с открытым исходным кодом, за которым стоят миллионы человеко-часов и корпоративная поддержка. Представление 30 000 футов здесь: чтобы создать новый «экземпляр приложения» в OpenStack Horizon, вам необходимо сначала создать пару ключей SSH. OpenStack автоматически устанавливает открытый ключ на новый экземпляр. Предполагается, что вы скачаете закрытый ключ (файл PEM) и установите его локально, чтобы при желании вы могли включить SSH в экземпляр. smeeb 9 лет назад 0
@smeeb Я не так много знаю об openstack, но вы можете сделать, например, `ssh -i ~ / .ssh / id_rsa bodhi@ssh.server.com` или, как говорит сайт openstack, http://docs.openstack.org /user-guide/content/ssh-into-instance.html `$ ssh -i MyKey.pem ubuntu @ 10.0.0.2` Итак, каким бы ни было имя файла закрытого ключа и где бы он ни хранился, вы указываете это при выполнении `ssh -i` barlop 9 лет назад 0
Кроме того, поскольку открытый ключ исходит из закрытого ключа, возможно, эта команда сделает это, поскольку у них уже должен быть открытый ключ, если они дают вам закрытый ключ. Таким образом, вам не нужно будет добавлять открытый ключ для author_keys на их компьютере, как это уже было бы там. barlop 9 лет назад 1

Похожие вопросы