Как создать открытый / закрытый ключ (UNIX)

28238
Justin k

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

11

5 ответов на вопрос

7
Nikolai N Fetissov

ssh-kegen(1)

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

6
martin
# 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
redent84

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

ssh-keygen 

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

2
J V

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

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

1
peoro

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

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