
У меня есть Ubuntu Desktop, и мне дали PEM-файл ( mykey.pem
), который является закрытым ключом SSH для сервера Linux. Я пытаюсь выяснить, где этот PEM-файл должен быть размещен локально на моей машине, и как его можно настроить/добавить в мои "известные хосты SSH".
Поиск в Google по этой теме выдает множество ответов/статей длясозданиеКлючи SSH, но не для добавления существующего ключа к известным хостам. Идеи?
решение1
Я не знаю о различных типах ключей SSH. Но вы бы поместили открытый ключ на конечный компьютер, а не ваш закрытый ключ. Ваш закрытый ключ остается закрытым.
А открытый ключ исходного компьютера необходимо поместить на целевой компьютер. ~/.ssh/authorized_keys
Это можно сделать вручную или с помощью ssh-keygen
команды.
Я предлагаю вам выполнить cat для открытого ключа на исходном компьютере и cat для authorized_keys на целевом компьютере и убедиться, что исходный ключ выглядит так, как будто он имеет тот же формат, что и в authorized_keys.
Файл known_hosts — это то, что добавляется автоматически. Вам не нужно редактировать его вручную. Вы можете подключиться даже после удаления файла known_hosts.
РЕДАКТИРОВАТЬ-
Чтобы включить некоторые комментарии в ответ. Открытый ключ получается из закрытого ключа. Обычно закрытый ключ остается закрытым, но OP был предоставлен закрытый ключ, это необычно, но это интересный способ сделать это, потому что это означает, что у компьютера назначения уже может быть его открытый ключ. Поэтому он может войти в систему, не добавляя ничего в authorized_keys компьютера назначения. 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 [email protected]
ssh -i
решение2
Согласно ssh
руководству:
-i файл_идентификации
Выбирает файл, из которого считывается идентификатор (закрытый ключ) для аутентификации открытого ключа. Значение по умолчанию — ~/.ssh/identity для протокола версии 1 и ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 и ~/.ssh/id_rsa для протокола версии 2.
Например .$ ssh -i mykey.pem [email protected]
Вы также можете добавить свой ключ в агент аутентификации, чтобы избежать необходимости передавать файл идентификации каждый раз, когда вы хотите подключиться к удаленному серверу:
ssh-add — добавляет идентификаторы закрытого ключа в агент аутентификации OpenSSH
Например, после того, как $ ssh-add mykey.pem
вы можете просто сделать .$ ssh [email protected]