Закрытый ключ SSH, созданный с помощью, ssh-keygen
содержит часть открытого ключа. Как получить этот открытый ключ из закрытого ключа? Я потерял свой открытый ключ и мне нужно поместить содержимое этого открытого ключа в authorized_keys
файл серверов, и я не хочу создавать новую пару ключей.
Альтернативно сформулировано: как мне создать id_rsa.pub
файл из id_rsa
файла?
command-line
ssh
Lekensteyn
источник
источник
pbcopy > ~/.ssh/id_rsa.pub
упс.Ответы:
Я нашел ответ на Ошибка сервера: создать открытый ключ SSH из закрытого ключа?
Опция
-y
выводит открытый ключ:Как примечание, комментарий открытого ключа потерян. У меня был сайт, который требовал комментария (Launchpad?), Поэтому вам нужно отредактировать
~/.ssh/id_rsa.pub
и добавить комментарий к первой строке с пробелом между комментарием и ключевыми данными. Пример открытого ключа показан усеченным ниже.Для ключей, которые были добавлены в агент SSH (программа, которая работает в фоновом режиме и избегает необходимости повторного ввода ключевой фразы файла ключа снова и снова), вы можете использовать
ssh-add -L
команду для вывода списка открытых ключей для ключей, которые были добавлены в агент (черезssh-add -l
). Это полезно, когда ключ SSH хранится на смарт-карте (и доступ к файлу закрытого ключа невозможен).источник
~/.ssh/id_rsa
должен быть ограничен вашим именем пользователя. используйте$ sudo chmod 600 ~/.ssh/id_rsa
и введите свои корневые учетные данные, чтобы ограничить его, затем вы можете вывести файл открытого ключа. В противном случае вы получите неограниченное предупреждение о файле закрытого ключа.sudo
, вы должны уже владеть закрытым ключом. В противном случае вы не сможете прочитать это в первую очередь.400
рекомендуется, так как нет необходимости писать в файл закрытого ключа типа. Исправлена команда должна быть$ chmod 400 ~/.ssh/id_rsa
id_rsa
файла) нет комментария, но действительно комментарий в файле открытого ключа (id_rsa.pub
) утерян.Это решение предназначено специально для пользователей, использующих Windows для SSH на своих удаленных компьютерах, включая облачные образы на Amazon AWS и GCE.
(Отказ от ответственности)
Недавно я использовал это решение для удаленного входа в новые развернутые образы виртуальных машин на GCE.
Используемые инструменты:
Шаги для выполнения:
Описание (как это сделать):
Сгенерируйте ключ / пару или используйте существующий закрытый ключ:
Если у вас есть закрытый ключ:
Откройте puttygen, нажмите кнопку загрузки и выберите файл личного ключа (* .pem).
Если у вас нет закрытого ключа:
Создайте новый файл authorized_keys (с помощью Блокнота):
Скопируйте данные вашего открытого ключа из раздела «Открытый ключ для вставки в OpenSSH файл авторизованного ключа» в генераторе ключей PuTTY и вставьте данные ключа в файл авторизованного ключа.
Убедитесь, что в этом файле только одна строка текста.
Загрузите ключ на сервер Linux:
Загрузите файл author_keys в домашний каталог на удаленном компьютере.
Установите правильные разрешения:
Сделать
.ssh
каталог (если он не существует)Скопируйте
authorized_keys
файл в каталог .ssh (это заменит любой существующийauthorized_keys
файл; обратите внимание на это).Если файл существует, просто добавьте содержимое этого файла в существующий файл.
Запустите команды для установки разрешений:
Теперь вы сможете подключаться по ssh к удаленной машине, не вводя учетные данные каждый раз.
Дальнейшее чтение:
Генерация и загрузка ключей SSH под Windows
Аутентификация без пароля с использованием ключа OpenSSH, сертификатов .pem и .pub
источник