LINUX.ORG.RU
ФорумAdmin

ssh key based authentication

 


0

1

Доброго времени суток.
Пытаюсь разобраться с аутентификацией SSH по паре ключей. Нашел несколько годных (как мне показалось) статей. Вот одна из них с первым примером генерации ключей и передачей публичного ключа с помощью ssh-copy-id (как я понял, эта утилита предназначена для передачи публичного ключа на сторону сервера и только для этого). Собственно, все получилось, аутентификация по ключу работает, но меня смутила вот эта иллюстрация. В ней указано, что после инициации соединения клиентом с сервера шлется челлендж, и клиент закрытым ключем должен его зашифровать, потом открытым ключем сообщение расшифровывается на стороне сервера, и если сообщение идентично начальному, аутентификация пройдена. Разве сообщение не должно шифроваться открытым ключем, а расшифровываться закрытым, и в этой же статье есть цитата «The public key can be used to encrypt messages that only the private key can decrypt.». Почему на картинке все наоборот? Я что-то упускаю.

Почему на картинке все наоборот?

Потому что это не шифрование для отправки данных секретно, а подтверждение факта обладания приватным ключём. Оно работает, потому что оба ключа могут использоваться для шифрования и дешифрования (т.е. свободно меняться ролями; только приватный обычно короче поэтому его и скрывают, так как перебрать проще).

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

Спасибо, после вашего разъяснения все выглядит вполне логично.

nokogerra
() автор топика
Ответ на: комментарий от xaizek

Возник еще один вопрос: указано что комментарий можно задать только для RSA1 ключа, при этом комментарий автоматически задается для pub ключа (если использовать ssh-keygen без аргументов). С помощью ключа -e я почему-то не смог просмотреть приватный ключ (указываю имя приватного, а листит все равно публичный ключ), но получается что по умолчанию приватный RSA, а публичный RSA1? Кстати, попытка изменить комментарий с "-c" для приватного так и говорит, что комментарий поддерживается только для RSA1, а попытка смены комментария для публичного заканчивается провалом из-за неверной пасс фразы, хотя я оставлял ее пустой.

nokogerra
() автор топика
Ответ на: комментарий от xaizek

только приватный обычно короче поэтому его и скрывают, так как перебрать проще

Уа-ха-ха, чо за бред?

anonymous
()
Ответ на: комментарий от anonymous

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

xaizek ★★★★★
()
Ответ на: комментарий от nokogerra

Там «для RSA1 или ключей в новом OpenSSH формате». Формат то, вроде, о приватном, а у публичного комментарий отдельно после ключа задаётся. Про "-c" написано, что меняются и приватный и публичный ключи, а не один из них. Комментарий публичного в конце строки pub файла, его спокойно можно редактировать руками.

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

У тебя путаница сплошная с этими ключами.

Ключи, при которые идёт речь с этом треде, - это одно целое, открытый и закрытый ключи формируются совместно и один без другого не применимы, и, да, у них одинаковая длина (см. https://ru.wikipedia.org/wiki/RSA) и криптостойкость.

Асимметричные алгоритмы шифрования очень дороги (с точки зрения вычислительных ресурсов), поэтому используются только для согласования сессионного ключа для алгоритма симметричного шифрования. Вот у сессионных ключей длина меньше.

anonymous
()
Ответ на: комментарий от anonymous

Хотя, нет, с длинами я сам напутал)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.