Настройка SSH сервера

В данной статье рассмотрим аутентификацию удалённого пользователя по ключу с полным запретом доступа по паролю на FreeBSD используя OpenSSH. Публичный ключ пользователя хранится на сервере, секретный ключ у клиента.

Для начала, нужно сгенерировать ключи, используя программу ssh-keygen,:

ssh-keygen -t rsa #создаст пару ключей RSA длиной 1024 бита.

— t указывает тип ключа (RSA DSA)

Программа запросит ввод пароля для шифрования секретного ключа, для исключения использования ключа посторонними лицами. Данный пароль будет необходимо вводить каждый раз при использовании секретного ключа. Если вам это не нужно, оставьте пароль пустым.

В итоге мы получим пару ключей: один секретный id_rsa (зашифрованный паролем, если уго указывали при создании), а второй публичный с расширением pub (id_rsa.pub).

Публичный ключ необходимо будет скопировать в домашнюю директорию пользователя на сервере

cp id_rsa.pub /home/имя_пользователя/.ssh/authorized_keys

Только в этом случае сервер будет знать ключ данного пользователя и сможет аутентифицировать его без пароля. Файл authorized_keys может содержать несколько публичных ключей.

Установим на директорию ~/.ssh следующие права:

chmod 700 ./.ssh

chmod 600 ./.ssh/id_rsa

Поправим конфиг sshd демона:

vi /etc/ssh/sshd_config

PermitRootLogin yes #принимать логин root или нет (по умолчанию no)

# этот параметр определяет, будет ли производится стандартная парольная проверка (по умолчанию yes)

PasswordAuthentication no

# запрещает вход с пустым паролем

PermitEmptyPasswords no

#отключаем аутентификацию через механизм PAM

ChallengeResponseAuthentication no

#отключаем для полного запрета аутентификации по паролю

UsePAM no

Осталось запустить sshd демон:

/etc/rc.d/sshd start

и для автозапуска в /etc/rc.conf добавить строчку sshd_enable="YES"

 

Комментарии  

 
0 #1 Sergey 02.11.2015 07:29
:-)
Цитировать
 
unix-way