Главная > Linux > Создание доверенного ssh ключа

Создание доверенного ssh ключа

Решая различные задачи довольно часто приходиться соединятся по ssh с удаленными серверами. От банального shell доступа, экспорта из svn и sftp до синхронизации данных через rsync (об этом поговорим отдельно). И каждый раз вводить пароль доступа согласитесь – очень не удобно. И что бы облегчить юзверям жизнь была придумана схема rsa-ключей. Создав однажды ключ, и добавив его в доверенные ключи на сервере, мы сможем соединятся с ним(с сервером) не вводя пароль.

Первое что нам понадобится это сгенерировать rsa ключ. Делаем это при помощи команды:

:~$ ssh-keygen

Первое что предложат нам сделать, это выбрать путь для сохранения ключа. По умолчанию это /home/user/.ssh/id_rsa. Это ключ используется при ssh соединении если не указан иной. Но мы можем указать другой, к примеру /home/user/.ssh/id_rsa_myserver.
Далее у нас спросят пароль для доступа к ключу, но мы оставим его пустым (иначе придется вводить его при каждом соединении). Ключ у нас есть!
Теперь нужно его добавить в доверительные на сервере. Выполняем для этого:

:~$ ssh-copy-id -i /home/user/.ssh/id_rsa_myserver user@server.ru

и вводим пароль доступа от учетной записи на сервере.
Все готово! Можно заходить на сервер без пароля, достаточно указать при подключении путь до ключа.

:~$ ssh -i /home/user/.ssh/id_rsa_myserver user@server.ru

Если был сгенерирован ключ по умолчанию, то вообще ничего указывать не нужно.

Вот полный лог всех действий:

:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): /home/user/.ssh/id_rsa_myserver
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa_myserver.
Your public key has been saved in /home/user/.ssh/id_rsa_myserver.pub.
The key fingerprint is:
6f:d2:ab:cc:f4:a8:e4:d9:63:ff:de:35:ad:05:6e:75 user@comp
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|                 |
|        S     . E|
|         o   . oo|
|      . o +   o.+|
|     o *o= . o +.|
|      +o*++oo o  |
+-----------------+
:~$ ssh-copy-id -i /home/user/.ssh/id_rsa_myserver user@server.ru
user@server.ru's password:
Now try logging into the machine, with "ssh 'user@server.ru'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

:~$ ssh -i /home/user/.ssh/id_rsa_myserver user@server.ru
Last login: Fri May 24 13:05:30 2009 from 192.168.0.1
-bash-3.2$
Categories: Linux Tags: , ,
  1. 13 Ноябрь 2010 в 14:39 | #1

    Спасибо за внятное и толковое описание…

  1. Пока что нет уведомлений.