Оглавление
Свежеустановленный сервер Ubuntu 22.04. Настраиваем вход в систему по ssh ключам вместо логина пароля.
Подготовка папок
Выполняем подготовку папок и файла ключа на сервере.
Важный момент при настройке авторизации SSH по ключам — это указать правильные права доступа на папку и файл ключа.
Выполните:
mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys
Предварительная настройка сервера
Разрешим вход с использованием публичного сертификата SHH на сервер и укажем путь до сертификата в настройках SSH, файл sshd_config:
nano /etc/ssh/sshd_config
Раскомментируйте или добавьте значения:
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
Настройка SSH сертификатов на сервере
Выполним генерацию ключей SSH:
ssh-keygen -a 1000 -b 4096 -o -t rsa
Укажем путь хранения ключа и его имя:
/root/.ssh/id_rsa
Система так же создаст публичный ключ по данному пути.
Указываем ключевую фразу для доступа к приватному ключу.
Добавляем содержимое файла публичного ключа к файлу сертификата авторизации SSH:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Перезапускаем SSH:
sudo service ssh restart
Настройка подключения PuTTY
Преобразуем приватный ключ в формат ключа PuTTY
- Скопируйте приватный ключ id_rsa (или содержимое ключа в файл) на локальный компьютер;
- Запустите программу puttygen (из папки PuTTY);
- Нажмите кнопку Load и выберите файл приватного ключа;
- Введите пароль на приватный сертификат;
- Нажмите Save private key для сохранения приватного ключа в нужном формате (вы можете изменить Key comment, это не повлияет на работу ключа).
Настройка подключения PuTTY с использованием SSH сертификата
Добавьте приватный сертификат в подключение:
Connection > SSH > Auth > Private key file for authentication
При успешном подключении после ввода имени пользователя, выйдет запрос ключевой фразы сертификата, после чего вход на сервер должен быть успешно выполнен.
Финальная настройка сервера
Последний шаг настройки SSH — отключение возможности входа на сервер по паролю, в файле конфигурации.
nano /etc/ssh/sshd_config
Раскомментируйте или добавьте значениe:
PasswordAuthentication no
После чего перезапустите службу SSH.
sudo service ssh restart
Настройка авторизации по сертификату SSH — завершена!
Ссылки
https://mhelp.kz/kak-nastroit-ssh-sertifikaty-dlya-vkhoda-na-ubuntu-server/