SSH авторизация без пароля

Ходить на сервер без пароля — очень удобно. Идея состоит в том, что на локальном (клиентском) компьютере генерируется пара ключей — приватный и публичный. Публичный копируется на удаленный компьютер (сервер) и авторизация происходит с помощью них.

Итак, открываем консоль на клиентской машине и создаем пару ключей:


$ ssh-keygen -t rsa

Консоль спросит путь для сохранения (нажмем Enter, чтобы оставить дефолтный путь) и парольную фразу (passphrase) (вводить необязательно в таком случае тоже нажимаем Enter).

Generating public/private rsa key pair
Enter file in which to save the key (/home/username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Важно! В случае утери парольной фразы восстановить ее не удастся.

Теперь в домашнем каталоге, в папке .ssh/ у нас появилось два файла — id_rsa (приватный ключ) и id_rsa.pub (публичный ключ). Для авторизации на удаленном сервере с помощью публичного ключа — нужно скопировать его туда. Сделать это можно командой


$ ssh-copy-id username@server

… где username — имя Вашего пользователя на удаленной машине, а server — ip адрес или имя удаленной машины. При копировании потребуется ввести пароль пользователя username от удаленной машины. После этого Ваш публичный ключ из локального файла ~/.ssh/id_rsa.pub будет добавлен в файл ~/.ssh/authorized_keys  пользователя username удаленной машины.

Теперь можно авторизоваться на удаленном сервере не вводя пароль.


$ ssh username@server

Оставьте ответ

Ваш адрес email не будет опубликован.