Настройка авторизации на сервере по SSH-ключу.
Создание SSH-ключей для безопасного входа на ваш сервер
Настройка безопасного SSH-подключения начинается с создания публичного и приватного ключа. Такой подход особенно важен при работе с VPS или выделенным сервером, где безопасность доступа критична. После генерации публичный ключ копируется на сервер, а приватный остаётся храниться на вашем локальном компьютере.
Генерация пары ключей
Чтобы создать ключи, выполните команду:
ssh-keygen -t ed25519
Примечание
Если вы используете устаревшую систему, которая не поддерживает алгоритм Ed25519, используйте ssh-keygen -t rsa -b 4096
Программа предложит указать каталог для сохранения ключей и попросит ввести секретную фразу. Нажмите Enter, чтобы использовать параметры по умолчанию, тогда ключи будут сохранены в каталог .ssh в домашней директории пользователя.
Для перехода в каталог с ключами выполните:
cd ~/.ssh
В каталоге будут два файла:
- id_rsa — приватный ключ
- id_rsa.pub — публичный ключ
Скопируйте приватный ключ в надёжное место, а публичный ключ перенесите на сервер.
Копирование публичного ключа на сервер
Добавьте содержимое id_rsa.pub в конец файла authorized_keys на сервере:
cat id_rsa.pub >> ~/.ssh/authorized_keys
Настройка OpenSSH сервера
Откройте конфигурационный файл сервера:
nano /etc/ssh/sshd_config
Убедитесь, что установлены следующие параметры:
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PasswordAuthentication no
Установите корректные права:
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys
Перезапустите SSH-сервер для применения изменений:
systemctl reload sshd
На этом настройка сервера завершена.
Настройка SSH-клиента в Linux
Для удобного подключения создайте файл ~/.ssh/config и добавьте в него:
Host server.net
IdentityFile ~/.ssh/keys/id_rsa
Установите права на конфигурационный файл:
chmod 600 ~/.ssh/config
Для подключения к серверу используйте команду:
ssh user@server.net
Если нужно указать ключ вручную, выполните:
ssh -i ~/.ssh/id_rsa user@server.net
Теперь ваша SSH-авторизация по ключу настроена, доступ защищён, а пароли больше не используются.