Документ взят из кэша поисковой машины. Адрес оригинального документа :
http://wiki.cs.msu.ru/Main/SSHKeyGenUseOpenSSH?cover=print;raw=on;rev=2
Дата изменения: Unknown
Дата индексирования: Mon Apr 11 22:59:03 2016
Кодировка: koi8-r
---+!! Создание и использование закрытого и открытого ключа в программе ssh %TOC% ---++ Введение Для общего понимания ключей рекомендуется прочитать [[SShKeys][страницу посвященную ssh-ключам]] Все приведенные на этой странице команды будут выполняться в терминале (xterm, terminal, konsole,...), а т.к. ssh-доступ почти всегда подразумевает работу в командной строке, будем считать, что как выполнять команды Вы знаете. В примерах ниже мы будем для определенности использовать RSA-ключи, хотя Вы можете использовать и другие виды ключей: * DSA-ключи: файлы id_dsa*, длина в битах всегда 1024, как требуется по FIPS 186-2 * ECDSA-ключи: в данный момент не поддерживаются на сервере !BlueGene ---++ Создание ssh-ключа Перед созданием ключа убедитесь, что у Вас еще нет ключа: * *ls -l ~/.ssh* * если команда отработала без ошибок и вы получили в выводе файлы id_rsa/id_dsa то у Вас уже есть нужный ключ, создавать не требуется * Пример: <verbatim> -rw-rw-r-- 1 user user 89 янв. 24 2013 config -rw------- 1 user user 1679 янв. 27 2012 id_rsa -rw-r--r-- 1 user user 393 янв. 27 2012 id_rsa.pub -rw------- 1 user user 21618 дек. 9 18:10 known_hosts </verbatim> * если несмотря на наличие ключа Вы хотите создать отдельный ключ для сервера, то *используйте универсальный способ* * если в выводе вы получили файлы id_ecdsa, то ключ у Вас есть, но в данный момент на !BlueGene по такому виду ключа не зайти. * в этом случае придется создать rsa-ключ, можно использовать простой способ * если ssh-ключа у Вас нет, то требуется создать (можно использовать простой способ) ---++ Простой способ создания ssh-ключей Для создания ключа введите команду: *ssh-keygen -t rsa* В результате эта команда в интерактивном режиме создаст пару ssh-ключей (открытый и закрытый) типа RSA с длиной ключа 2048 бит. Местоположение файлов: * закрытый ssh-ключ (identification): *~/.ssh/id_rsa* * публичный ssh-ключ (public key): *~/.ssh/id_rsa.pub*. При создании генератор запросит пароль, если введете пустой, то пароль зашифрован не будет (если Вы забудете тот пароль, который зашифруете ключ, то воспользоваться ключом больше не сможете). ---++ Универсальный способ создания ssh-ключей Будем использовать ту же программу (ssh-keygen), но с дополнительными параметрами: * *-t тип-ключа (rsa/dsa/...)*: какой тип ключа нужен * *-b длина ключа*: какой длины (для dsa длина всегда 1024) * *-f имя_ключа*: в какой файл сохранять ключ, если мы хотим разные ключи для разных целей (подробнее о том, зачем это может быть нужно можете посмотреть в разделе "Использование нескольких ssh-ключей" на этой странице и на [[SShKeys][странице посвященную ssh-ключам]]) Пример: * вводите: *ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_hpc* * в результате: * в интерактивном режиме будет создана пара ssh-ключей (открытый и закрытый) типа RSA с длиной ключа 4096 бит (разумеется Вы можете зашифровать закрытую часть ключа паролем). * ключи: * закрытый ssh-ключ (identification) будет сохранен в ~/.ssh/id_rsa_hpc * открытый ssh-ключ (public key) будет сохранен в ~/.ssh/id_rsa_hpc.pub * собственно о местоположении ключей будет сообщено в процессе создания, в нашем примере это выглядело так: <verbatim> Your identification has been saved in /home/user/.ssh/id_rsa_hpc. Your public key has been saved in /home/user/.ssh/id_rsa_hpc.pub. </verbatim> За более подробной информацией обращайтесь к справочным страницам (man ssh-keygen, [[http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-keygen&sektion=1][или на сайте OpenBSD]] ) и [[http://www.openssh.org/faq.html][F.A.Q по OpenSSH]] В дальнейшем не забудьте прописать в настройках программы ssh для данного сервера путь именно к этому закрытому ssh-ключу (в параметре !IdentityFile файла ~/.ssh/config), о чем — в следующем разделе. Также рекомендуем ознакомиться с настройкой (man ssh_config [[http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config][или на сайте OpenBSD]]). Ниже представлен пример конфигурационного файла ~/.ssh/config: <verbatim> Hostљregatta.hpc љљљљHostnameљregatta1.cs.msu.su љљљљUserљedu-vmk-stud-500-001 љљљљIdentityFileљ~/.ssh/id_rsa</verbatim> Кратко: * Hostname: какое имя сервера использовать * User: под каким пользователем заходить * !IdentityFile: какой ключ авторизует пользователя, указывается *его закрытая часть (т.е. закрытый ssh-ключ)* В результате команда ==$ ssh regatta.hpc== осуществит вход пользователю edu-vmk-stud-500-001 на regatta1.cs.msu.su с помощью ключа ~/.ssh/id_rsa Зачем полезно указывать ключ — [[SShKeys][смотрите на странице по ssh ключам раздел по использованию различных ключей]] ---++ Получение отпечатка ssh-ключа (fingerprint) Для этого понадобится уже знакомая Вам программа ssh-keygen: * *ssh-keygen -l -f путь_до_публичного_ssh-ключа*, т.е: * если использовался простой метод создания, то: *ssh-keygen -l -f ~/.ssh/id_rsa.pub*, в результате будет что-то вида ==2048 4c:d1:96:6f:dd:e5:67:ce:55:8b:fb:38:b2:a2:63:c5 user@host (RSA)== * для универсального метода Вы должны указать путь до своего ключа, в нашем примере это будет: *ssh-keygen -l -f ~/.ssh/id_rsa_hpc.pub*, в результате в нашем примере будет ==4096 82:80:b0:ab:1c:71:c0:ab:77:bd:8f:62:83:39:15:3b user@host (RSA)== * в наших примерах мы использовали RSA-ключ, а в этом случае можно указывать и закрытый ключ (т.е. без .pub), вывод будет тот же Пришлите вывод тому, кто спрашивает у Вас отпечаток (если хотите, можете перенаправить вывод команды ssh-keygen в файл, но можно и просто скопировать из терминала эту строку в письмо/документ/форму на сайте и т.д.) ---++ Использование нескольких ssh-ключей
This topic: Main
>
WebHome
>
SShKeys
>
SSHKeyGenUseOpenSSH
Topic revision: revision 2 (raw view)
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki?
Send feedback