Создание и использование закрытого и открытого ключа в программе putty
Введение
Для общего понимания ключей рекомендуется прочитать
страницу посвященную ssh-ключам
В примерах ниже мы будем для определенности использовать RSA-ключи, хотя Вы можете использовать и другие виды ключей (puttygen умеет еще и DSA)
Создание putty-ключа
Для этого требуется запустить программу puttygen:
Откроется окно:
Установите параметр "SSH-2 RSA" и впишите 2048 в поле ниже и нажмите кнопу
Generate, после чего запустится процесс создания ключа:
Не забудьте подвигать мышкой в районе пустой области под показателями прогресса генерации (программа использует эти движения для создания непредсказуемого ключа). Двигать мышкой надо пока ключ не будет создан.
После создания окно поменяется на:
У вас будет другой ключ, поэтому не пугайтесь.
Не нажимайте кнопку "Save public key", вместо этого вам потребуется из поля с названием
"Public key for pasting into OpenSSH authorized_keys file" публичный ключ (выделить, скопировать, вставить в простой текстовый файл и сохранить его).
Также вам потребуется
"Key fingerprint" (выделить, скопировать, вставить в другой текстовый файл и сохранить его).
Открытая часть ключа потребуется администратору для того чтобы предоставить вам доступ.
После создания не забудьте сохранить ключ
"Save private key", если пароль (passphrase) для ключа не задан, то возникнет предупреждающее окно:
Если согласиться, то ключ будет без пароля.
Далее даете имя и сохраняете.
Данный файл никому давать нельзя, он содержит приватную часть!
Конфигурирование программы putty
Вы запустили программу putty:
Будем считать, что Вы хотите заходить на компьютер testhost.cs.msu.ru с нашим ключом. Параметры планируем сохранять под именем testhost.
Для указания ключа надо перейти на параметры
SSH (раскрыть) и выбрать
Auth:
Далее надо загрузить файл (
Browse), найти свой ключ и загрузить/открыть:
После этого надо сохранить параметры (вернуться на
Session и сохранить):
В результате в следующий раз, когда Вы запустите putty, Вы увидите среди сессий нужную Вам:
Останется только ее запустить/открыть (
Open):
- выделить и нажать кнопку Open
- либо использовать двойной клик на имени сессии
Открытие ключа в PuTTYgen
Запустите программу PuTTYgen, только в этом случае нужно не создавать ключ, а загрузить:
Выбрать свой ключ:
После открытия будет окно похожее на:
Получение отпечатка ssh-ключа (fingerprint)
Откройте, как написано выше свой ключ, после этого можете скопировать fingerprint (выделить, скопировать, вставить) в поле ввода/файл.
Как получить openssh открытый ключ из putty-ключа
Как Вы читали
на странице посвященную ssh-ключам, ssh-сервер использует для проверки публичную часть ключа, в то время как программа PuTTYgen создает файл, содержащий обе части.
Также Вы уже знакомы с тем, что
посылать закрытую часть нельзя, поэтому
putty-ключ тоже посылать нельзя. А что же делать?
Очень просто:
- с помощью уже знакомой Вам программы PuTTYgen (или puttygen в Unix) получить лишь открытую часть, которую и отправить администратору
При использовании Windows-программы
После того, как загрузите ключ:
можете либо
- Ввести (выделить, скопировать, вставить) в поле ввода/файл публичную часть (она уже в виде, нужном 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-ключа
Пример:
- Пусть мы используем ключ, указанный выше (не используйте этот ключ, он дан лишь для примера)
- находимся в директории с этим ключом
- ключ называется putty.key
- тогда нам достаточно сказать: puttygen -L putty.keyчтобы программа напечатала публичную часть ключа в нужном нам формате:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAtSHsx6tYHpM43aSJP8ZzUgS3KuKwudeq+4sIIUEh0zAhQBKdKQiFuTT6ujI42HAatpj7slfl799HO36jlzWMFvDhfBlVSXfKqqmacaO2G7geneTGLCTaIFPfF8Z0drqt5nOCCvagcQVNBbfrdNIDHWlemOporAE/toWNkvZbD4yAkJg/d/OrNTfM/jhNLisvHBwpgph1Xl4IyGlN3+BXlpP5lIWwRAo267GVdCWwaY+85I+HlUH/XZxOE9cdlW4EvA2Xh1d/+bMJyYpCX5eqLVwY8LgirdKKdrSu1Cf1qjS9/yhRXbATkqKekltC+7EbBq7PHqdkQ7eOzZxRKB+NRw== rsa-key-20131225
которую и надо отправить администратору
- Можете использовать перенаправление вывода:
puttygen -L putty.key > key.pub
и послать уже в виде файла key.pub