12

Кто-нибудь может сказать мне, для использования SSH, почему хосту также нужно иметь открытый и закрытый ключ? И как я могу сгенерировать пару открытый / закрытый ключ для себя?

5 ответов5

7

ssh-kegen(1)

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

6
# private key
openssl genrsa -out privkey.pem 2048

# public key
openssl rsa -in privkey.pem -pubout -out pubkey.pem

Для дополнительной информации:
http://www.openssl.org/docs/apps/rsa.html
http://www.openssl.org/docs/HOWTO/keys.txt

4

Он отличается от одного распределения к другому. В Ubuntu используйте эту команду:

ssh-keygen

Он сгенерирует два ключа: один публичный (тот, которым вы поделитесь с сервером), а другой - частный, и вы никому не будете обмениваться. После того, как открытый ключ скопирован в ~/.ssh/авторизованные ключи на сервере, вы можете войти без запроса пароля.

2

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

В Википедии есть отличный пример этого.

1

В любом случае, для генерации ключей вы должны использовать ssh-keygen . Вам нужны закрытые и открытые ключи, чтобы использовать SSL, систему шифрования, основанную на асимметричных ключах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .