Назад | Перейти на главную страницу

Формат открытого ключа SSH

У меня есть публичный ключ в формате:

---- BEGIN SSH2 PUBLIC KEY ----

Comment: "somename-20060227"
AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]==

---- END SSH2 PUBLIC KEY ----

Обычно я вижу ключи в таком формате:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAqof[and so on]

Могу ли я просто скопировать первый ключ в файл authorized_keys или мне нужно как-то изменить его, чтобы он выглядел как второй? Я думаю, что первый был сгенерирован PUTTYgen, а второй - ssh-keygen.

использовать ssh-keygen -i для преобразования формата, совместимого с SSH2, в формат, совместимый с OpenSSH.

из man ssh-keygen:

-i Этот параметр будет читать незашифрованный файл закрытого (или открытого) ключа в формате, совместимом с SSH2, и печатать закрытый (или открытый) ключ, совместимый с OpenSSH, в стандартный вывод. ssh-keygen также читает формат файла открытого ключа SSH RFC 4716. Эта опция позволяет импортировать ключи из нескольких коммерческих реализаций SSH.

Это полный и правильный ответ:

ssh-keygen -i -m PKCS8 -f public-key.pem

Вам нужно преобразовать открытый ключ в соглашение openssh:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]== somename-20060227

Также убедитесь, что ключ занимает ровно одну строку и при копировании не было разрывов строк.

Просто перепишите свой ключ в формате, подходящем для authorized_keys:

keytype keybody имя ключа

Имейте в виду, что завершающие "==" являются необходимыми заполнителями, чтобы длина ключа оставалась равной желаемой длине.