SSH: авторизация по ключам – пример

Автор: | 14/05/2016
 

ssh_logoБыстрая HowTo. Более полный вариант – в посте SSH: авторизация по ключам.

Генерируем ключ:

$ ssh-keygen -t rsa -f .ssh/service_id
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in .ssh/service_id.
Your public key has been saved in .ssh/service_id.pub.
The key fingerprint is:
a3:18:00:75:2a:6f:99:8f:ab:b4:c0:dd:58:da:84:ed setevoy@host
The key's randomart image is:
+--[ RSA 2048]----+
|... .            |
| . o             |
|. o              |
| o +o            |
|  =..+  S        |
|...oOo . .       |
|.o.+oE.          |
|o ..             |
|.o.              |
+-----------------+

Устанавливаем права:

$ chmod 600 .ssh/service_id

Создаем пользователя на удаленном сервере:

# adduser service

Там же создаем каталог .ssh/ и файл authorized_keys:

# mkdir /home/service/.ssh && touch /home/service/.ssh/authorized_keys

Устанавливаем права и владельца:

# chmod 700 /home/service/.ssh 
# chmod 600 /home/service/.ssh/authorized_keys
# chown -R service:service /home/service/

Получаем содержимое сгенерированного ранее service_id.pub:

$ cat .ssh/service_id.pub 
ssh-rsa AAAA***og3ij setevoy@hostname

Копируем на удаленный сервер в файл /home/service/.ssh/authorized_keys:

# cat /home/service/.ssh/authorized_keys 
ssh-rsa AAAA***og3ij setevoy@hostname

Проверяем:

$ ssh service@40.***.***.168  -i .ssh/service_id
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.19.0-58-generic x86_64)
...
service@igu-gw:~$

Готово.