Создание и обмен SSH-ключами

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску

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

test@gfl-1160:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/test/.ssh/id_rsa): 
Created directory '/home/test/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/test/.ssh/id_rsa.
Your public key has been saved in /home/test/.ssh/id_rsa.pub.
The key fingerprint is:
cc:18:13:9f:4d:03:f1:cb:52:48:47:88:57:d4:a8:ad test@gfl-1160
The key's randomart image is:
+--[ RSA 2048]----+
|      ..+BBo     |
|      .+oB...    |
|      o.+o+      |
|       *.o..     |
|      . S.o      |
|        E.       |
|                 |
|                 |
|                 |
+-----------------+

После этого будет создан каталог .ssh с таким содержимым:

test@gfl-1160:~$ ls -al .ssh/
итого 8
drwx------ 2 test test  104 Дек  8 23:46 .
drwxr-xr-x 3 test test  152 Дек  8 23:46 ..
-rw------- 1 test test 1675 Дек  8 23:46 id_rsa
-rw-r--r-- 1 test test  395 Дек  8 23:46 id_rsa.pub

id_rsa.pub - это открытый ключ, который необходимо скопировать в файл ~/.ssh/authorized_keys на другой машине. В Debian GNU/Linux для облегчения процедуры есть утилита ssh-copy-id, которая делает все автоматически:

test@gfl-1160:~$ ssh-copy-id -i .ssh/id_rsa.pub rain@192.168.1.222
rain@192.168.1.222's password: 
Now try logging into the machine, with "ssh 'rain@192.168.1.222'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

Теперь можно залогиниться на хост 192.168.1.222 под пользователем rain с авторизацией по ключам, без ввода пароля.