Создание и использование закрытого и открытого ключа в программе putty

Введение

Для общего понимания ключей рекомендуется прочитать страницу посвященную ssh-ключам В примерах ниже мы будем для определенности использовать RSA-ключи, хотя Вы можете использовать и другие виды ключей (puttygen умеет еще и DSA)

Создание putty-ключа

Для этого требуется запустить программу puttygen:

puttygen-start.PNG

Откроется окно:

puttygen2.PNG

Установите параметр "SSH-2 RSA" и впишите 2048 в поле ниже и нажмите кнопу Generate, после чего запустится процесс создания ключа:

puttygen-process.PNG

ALERT! Не забудьте подвигать мышкой в районе пустой области под показателями прогресса генерации (программа использует эти движения для создания непредсказуемого ключа). Двигать мышкой надо пока ключ не будет создан.

После создания окно поменяется на:

puttygen-end.PNG

ALERT! У вас будет другой ключ, поэтому не пугайтесь.

Не нажимайте кнопку "Save public key", вместо этого вам потребуется из поля с названием "Public key for pasting into OpenSSH authorized_keys file" публичный ключ (выделить, скопировать, вставить в текстовый файл и сохранить его).

Также вам потребуется "Key fingerprint" (выделить, скопировать, вставить в другой текстовый файл и сохранить его).

Открытая часть ключа потребуется администратору для того чтобы предоставить вам доступ.

После создания не забудьте сохранить ключ "Save private key", если пароль (passphrase) для ключа не задан, то возникнет предупреждающее окно:

puttygen-pass.PNG

Если согласиться, то ключ будет без пароля.

Далее даете имя и сохраняете.

ALERT! Данный файл никому давать нельзя, он содержит приватную часть!

Конфигурирование программы putty

Вы запустили программу putty:

putty-test.PNG

Будем считать, что Вы хотите заходить на компьютер testhost.cs.msu.ru с нашим ключом. Параметры планируем сохранять под именем testhost.

Для указания ключа надо перейти на параметры SSH (раскрыть) и выбрать Auth:

putty-auth-key.PNG

Далее надо загрузить файл (Browse), найти свой ключ и загрузить/открыть:

putty-key-get.PNG

После этого надо сохранить параметры (вернуться на Session и сохранить):

putty-session-save.PNG

В результате в следующий раз, когда Вы запустите putty, Вы увидите среди сессий нужную Вам:

putty-session-open.PNG

Останется только ее запустить/открыть (Open):
  • выделить и нажать кнопку Open
  • либо использовать двойной клик на имени сессии

Открытие ключа в PuTTYgen

Запустите программу PuTTYgen, только в этом случае нужно не создавать ключ, а загрузить:

puttygen-load.PNG

Выбрать свой ключ:

puttygen-load2.PNG

После открытия будет окно похожее на:

puttygen-end.PNG

Получение отпечатка ssh-ключа (fingerprint)

Откройте, как написано выше свой ключ, после этого можете скопировать fingerprint (выделить, скопировать, вставить) в поле ввода/файл.

Как получить openssh открытый ключ из putty-ключа

Как Вы читали на странице посвященную ssh-ключам, ssh-сервер использует для проверки публичную часть ключа, в то время как программа PuTTYgen создает файл, содержащий обе части. Также Вы уже знакомы с тем, что посылать закрытую часть нельзя, поэтому putty-ключ тоже посылать нельзя. А что же делать? Очень просто:
  • с помощью уже знакомой Вам программы PuTTYgen (или puttygen в Unix) получить лишь открытую часть, которую и отправить администратору

При использовании Windows-программы

После того, как загрузите ключ:

puttygen-load-pub.PNG можете либо
  • Ввести (выделить, скопировать, вставить) в поле ввода/файл публичную часть (она уже в виде, нужном openssh), на снимке мы как раз выделили эту часть
  • сохранить публичную часть (в нем будет вся нужная информация, но понадобиться конвертация с нашей стороны), т.е. нажать на обведенную кнопку

При использовании Unix-варианта puttygen

Пример ключа:

PuTTY-User-Key-File-2:^A ssh-rsa
Encryption:^A none
Comment:^A rsa-key-20131225
Public-Lines:^A 6
AAAAB3NzaC1yc2EAAAABJQAAAQEAtSHsx6tYHpM43aSJP8ZzUgS3KuKwudeq+4sI
IUEh0zAhQBKdKQiFuTT6ujI42HAatpj7slfl799HO36jlzWMFvDhfBlVSXfKqqma
caO2G7geneTGLCTaIFPfF8Z0drqt5nOCCvagcQVNBbfrdNIDHWlemOporAE/toWN
kvZbD4yAkJg/d/OrNTfM/jhNLisvHBwpgph1Xl4IyGlN3+BXlpP5lIWwRAo267GV
dCWwaY+85I+HlUH/XZxOE9cdlW4EvA2Xh1d/+bMJyYpCX5eqLVwY8LgirdKKdrSu
1Cf1qjS9/yhRXbATkqKekltC+7EbBq7PHqdkQ7eOzZxRKB+NRw==
Private-Lines:^A 14
AAABAGuzToSPZNPo1bQ4UZuKwRwCzcZ483VremwNenSjRItoudMR/JTwT4LhOyKa
Zv07vNtGNMroJ9q8HIQ9dgbhkZEZmtQqvRbtSBJyrtvJICwoSY5QrS8BJ8Ax3piD
1ovI8cdLmW5NdCeGnH/w0TC0OTQVI32EdZa0omyGwuHC6gk9yJ3KG/8mGlrpA2bj
yIVBX3HRvO92+lac0wYHuUN7e+CFOxxA16VuY3a8e4L5Jt6d28vs5HFxslpunPCB
xtktLvU9LN1Bpr5Oo+T3NCIQSOYwtTtIfKTu0svAwb7bdo606TYCY+9AO9GJCi2U
1pElA5lWqhNdymXXsSLfPurdFw0AAACBAOHeOXyKzvLhnXof59fV1jcbH9yAIDe+
ctEj7dJkHb9QH+uFNokShn8wyEqLRDcgX1EkBXk88+7K6ejwGvH+bLgEvMHfZGEI
jLzEkNcaSKqJVJzCrciEwqvbFCAIY4olvf3Hn6eCWdlFnteG2oa8F5YT3ABp6PN4
Hrv1hHIE4k7ZAAAAgQDNS+fw7pMu6UD7sUW7YPKo8BuPQTAkPMwx1IXD51ulBwhZ
MT8w4RuE0E81Xg/mdbKRXfACgj1knYQAGuHozKmsSWny7gS1Di2tvhPZaRxWffti
p22IiAnZLa3UlmqYfS83/5vqgyRhVVd7vtffBay5E9hTlCxWlK4RqRTGxslpHwAA
AIEAsoV4OhVeIK1qCHTz6oHGOISreMbovH8d3qIHtU4vpAD4QQqb9zRDFZrwGAAT
USU+kDfQkecU04Btm41e/3V/fa74tTRGD3lomBy41NxiZ21yrhqMgOL2A6OXHZiL
L2w3KC1r2OpdW2MMOiwTwNQSClE8aMqZvBvu4cf5a+zO57s=
Private-MAC:^A 982c817c83314e3641fccc8d641933d0615732c4

Для получения открытой части надо запустить программу puttygen с параметром -L: puttygen -L путь_до_putty-ключа

Пример:
  1. Пусть мы используем ключ, указанный выше (не используйте этот ключ, он дан лишь для примера)
  2. находимся в директории с этим ключом
  3. ключ называется putty.key
  4. тогда нам достаточно сказать: puttygen -L putty.keyчтобы программа напечатала публичную часть ключа в нужном нам формате:
    ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAtSHsx6tYHpM43aSJP8ZzUgS3KuKwudeq+4sIIUEh0zAhQBKdKQiFuTT6ujI42HAatpj7slfl799HO36jlzWMFvDhfBlVSXfKqqmacaO2G7geneTGLCTaIFPfF8Z0drqt5nOCCvagcQVNBbfrdNIDHWlemOporAE/toWNkvZbD4yAkJg/d/OrNTfM/jhNLisvHBwpgph1Xl4IyGlN3+BXlpP5lIWwRAo267GVdCWwaY+85I+HlUH/XZxOE9cdlW4EvA2Xh1d/+bMJyYpCX5eqLVwY8LgirdKKdrSu1Cf1qjS9/yhRXbATkqKekltC+7EbBq7PHqdkQ7eOzZxRKB+NRw== rsa-key-20131225
    которую и надо отправить администратору
  5. Можете использовать перенаправление вывода: puttygen -L putty.key > key.pub и послать уже в виде файла key.pub
Topic revision: r6 - 07 Oct 2014, SergeyKorobkov
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback