Подключение по SSH без пароля

Краткая инструкция по настройке подключения к серверу SSH по ключу без использования пароля.

Создадим пару ключей на клиенте

# ssh-keygen -t rsa -b 4096

путь оставляем по умолчанию

Enter file in which to save the key (/home/username/.ssh/id_rsa):

а passphrase — на усмотрение, но можно оставить пустым, чтобы не вводить её каждый раз при входе

Enter passphrase (empty for no passphrase):

Копируем открытый ключ с клиента на сервер

# ssh-copy-id tux@192.168.1.30

Консоль запросит пароль пользователя tux, который создан на сервере

На сервере у пользователя tux появится файл ~/.ssh/authorized_keys, который полностью совпадает с открытым ключом id_rsa.pub клиента.

При использовании FreeBSD на сервере у пользователя в домашнем каталоге необходимо создать директорию .ssh/ и в ней файл authorized_keys

# mkdir ~/.ssh/
# touch ~/.ssh/authorized_keys

и в этот файл с клиентской машины вставить содержимое файла id_rsa.pub

Для этого на клиенте выводим открытый ключ в консоль

# cat ~/.ssh/id_rsa.pub

Копируем его в буфер и на сервере открываем файл authorized_keys

# vi ~/.ssh/authorized_keys

и вставляем его туда полностью.

Для того, чтобы запретить вход на сервер с помощью пароля, необходимо в файле /etc/ssh/sshd_config прописать такую строчку:

PasswordAuthentication no

и перезапустить службу sshd

на CentOS, Debian и Ubuntu Server:

# systemctl restart sshd

в Gentoo:

# rc-service sshd restart

на FreeBSD:

# service sshd restart

Теперь на сервер можно войти пользователем tux с помощью ключа

# ssh tux@192.168.1.30

Если passphrase не была задана, то к серверу можно будет подключиться сразу, а иначе — придётся каждый раз её вводить.

Добавить комментарий

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