2014-09-15 3 views
0

Давайте представим, у вас есть клиент C и сервер S.SSH двойной аутентификация с помощью ключей RSA

машина C подключается к серверу S с SSH, используя ключ RSA не для того, чтобы не passord соединения. Таким образом, C владеет своим личным ключом и передал S открытый ключ.

Да, я могу использовать ключи RSA для сертификации S? Я хотел бы каждый раз, когда C пытается подключиться к S в ssh, он может быть уверен, что он действительно разговаривает с S. Так точно, как сертификат X509, но с ключами RSA?

Если я не ошибаюсь, это будет двойная аутентификация?

Спасибо

ответ

0

Я не могу понять ваш вопрос. не могли бы вы рассказать подробнее?

Позвольте мне кратко рассказать вам о подключении SSH.

Клиент подключиться к серверу

Клиент запрашивает идентификатор сервера. (Это может быть сделано с помощью различных PublicKey алгоритмов) Например: SSH-RSA, SSH-DSA и т.д. являются PublicKey тип формата X509v3-SSH-RSA, X509v3-SSH-DSA и т.д., сертификат типа Формат

Все выше формат поддерживается в алгоритме Publickey.

FYI: Сертификат - это ничего, кроме публики с информацией о собственности.

сервер теперь отправляет его идентифицировать (ОткрытыйКлюч или сертификат) для клиента

клиент проверяет его.

Если все в порядке, то сервер запрашивает идентификатор клиента.

Согласно протоколу SSH это можно сделать с помощью методов публикации, пароля, клавиатуры и интерактивных методов.

Теперь, чтобы не вводить пароль, публикация является правильным методом. Здесь Publickey - это имя метода. Внутри поддерживается множество методов публикации и сертификата (который аналогичен указанному выше)

Клиент затем выбирает метод publickey и отправляет его идентификацию либо в виде publickey (ssh-rsa, либо ...), либо сертификата (x509v3-sshrsa или. ..) на сервер.

Сервер подтвердит эту идентификацию.

Если все в порядке, пользователь может войти в систему, используя SSH.

Надеюсь, что это прояснит ваши сомнения.

+0

Если я хорошо понимаю, первый шаг, о котором вы говорите, когда клиент запрашивает идентификацию сервера, выполняется по отпечатку пальца, полученному при первом соединении, о котором Николай говорил в своем ответе? – drkzs

+0

По вашему вопросу вы упомянули. ///////////////////////// «Допустим, у вас есть клиент C и сервер S. машина C подключается к серверу S с ssh, используя ключ RSA, чтобы не допускать соединения с паролем. Таким образом, C владеет своим закрытым ключом и передал S открытый ключ. » //////////////////// ///// . Выше процедура предназначена для аутентификации пользователя. –

+0

///////////////////////// Предоставляя это, могу ли я использовать ключи RSA для сертификации S ? Я хотел бы каждый раз, когда C пытается подключиться к S в ssh, он может быть уверен, что он действительно разговаривает с S. Так точно, как сертификат X509, но с ключами RSA? Если я не ошибаюсь, это будет двойная аутентификация? ///////////////////////// Выше процедура для аутентификации сервера –

0

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

+0

о, да, это правда ... так что вы можете сравнить отпечаток ключа и ключ сам, чтобы быть уверенным? – drkzs

+0

И вообще, было бы возможно и полезно получить двойную аутентификацию, как я описал? – drkzs

Смежные вопросы