Как хранятся публичные и частные ключи, хранящиеся и связанные как на клиенте, так и на сервере?

С помощью awk:

$ awk -v n=3 '{$1 = ($1 > n) ? ($1 % n) ? $1 % n : n : $1};1' <file
1 abcde
2 00
3 12
1 12
2 ghijkl
3 jsaslm
1 uawrns
2 abcde
3 \(%"!&/
1 $!"$&/(
3 !§%/(//
0
27.11.2018, 08:51
3 ответа

known_hostsвзят из ключа sshd сервера -в/etc/ssh/*pub

1
28.01.2020, 02:15

В файле authorized_keysдолжна быть строка, содержащая содержимое id_rsa.pub, а в файле known_hostsдолжна быть строка, содержащая ключ хоста сервера. (Сервер обычно хранит свои ключи хоста в файле под /etc/ssh/.)

Кроме того, id_rsaдолжен как бы совпадать с id_rsa.pubв том смысле, что они должны быть парой ключей, но если вы не исправите их вручную, именно так ssh -keygen всегда размещает их.

0
28.01.2020, 02:15

Формат клавиш Fun

Судя по вашим комментариям к другим ответам, у вас может быть проблема с форматом ключа.

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

Преобразование ключей

  • ключи openssl для ssh

Ключи, сгенерированные в opensslи выведенные в формате PEM, можно преобразовать в формат ssh с помощью программы ssh-keygen.

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

  • ключи ssh для PEM

Ключи, сгенерированные с помощью ssh -keygen, могут быть преобразованы в формат PEM:

ssh-keygen -e -m pem -f id_rsa.pub

  • Ключи PGP для ssh

Ключи PGP, сгенерированные в GPG, можно преобразовать в формат ssh с помощью опции --export-ssh-key:

gpg --export-ssh-key <keyid>

Расположение клавиш

Как указано в других ответах, удаленной системе требуется открытый ключ, хранящийся в формате ssh в файле ~/.ssh/authorized_keys. И локальная система требует, чтобы закрытый ключ был:

  • Сохранено как идентификатор _rsa в~/.ssh

или

  • Поставляется с опцией ssh -i

или

  • Добавлено в агент ssh с использованиемssh-add

или

  • Добавлено в агент ssh с использованием файла GPG sshcontrol

Сравнение открытых ключей

Чтобы сравнивать открытые ключи, эти ключи должны быть в одном формате. В противном случае ключи не будут выглядеть одинаково, даже если математически они являются одними и теми же объектами. Итак, поскольку вы указали, что сгенерировали свой открытый ключ ssh, используя opensslв формате PEM, открытый ключ, вероятно, не будет выглядеть так же, как тот, который хранится в файле ~/.ssh/authorized_keysсервера.

Ключи формата PEM выглядят следующим образом:

-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEAr/CvdghgkYT1Z38d
...
NlBcCYnrjvfFAj5HQydWc9CfP02rdtCIewIDAQAB
-----END RSA PUBLIC KEY-----

Открытые ключи SSH выглядят следующим образом:

ssh-rsa AAAAB3N...voZypjC/Y2UFwJie...t20Ih7

Открытые ключи PGP выглядят следующим образом:

-----BEGIN PGP PUBLIC KEY BLOCK-----

mQENBFN/ZjIBCADad3mv...
...
nE42ZvKt632ZAQ==
=EKbR
-----END PGP PUBLIC KEY BLOCK-----

Итак, убедитесь, что вы сравниваете ключи одного и того же формата.

2
28.01.2020, 02:15

Теги

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