Гид по технологиям

Как настроить аутентификацию SSH по ключам с PuTTY и Linux-сервером за 5 шагов

6 min read Серверы Обновлено 30 Sep 2025
SSH по ключам с PuTTY и Linux за 5 шагов
SSH по ключам с PuTTY и Linux за 5 шагов

К чему это и кого касается

Коротко: аутентификация по ключам безопаснее паролей — владелец приватного ключа может подключиться, остальные — нет. Это руководство ориентировано на пользователя Windows, использующего PuTTY, и администратора Linux-сервера.

1. Скачать zip с бинарниками PuTTY

Скачайте архив с последними сборками PuTTY:

http://the.earth.li/~sgtatham/putty/latest/x86/putty.zip

Сохраните и распакуйте. В архиве находятся PuTTY.exe, PuTTYgen.exe, Pageant.exe и другие утилиты.

2. Сгенерировать пару ключей

Запустите PuTTYgen.exe, нажмите кнопку “Generate” и двигайте мышь, пока генерация не завершится. Введите запоминаемую, но надёжную фразу-пароль (passphrase).

Сохраните публичный ключ и приватный ключ (кнопки “Save public key” и “Save private key”).

Генератор ключей PuTTY: окно программы с сгенерированным ключом

Примечание: PuTTYgen может выдавать публичный ключ в формате, пригодном для OpenSSH. Для некоторых старых систем может потребоваться преобразование формата, но чаще всё работает сразу.

3. Настроить Linux-сервер (создать пользователя, сохранить публичный ключ)

В примере используем имя пользователя autotimesheet — замените его на ваше обычное.

Как root выполните:

adduser autotimesheet --disabled-password

Заполните дополнительные поля по желанию (пустая строка допустима).

Далее переключитесь на пользователя и создайте папку для ключей:

su autotimesheet
cd /home/autotimesheet
mkdir .ssh
chmod 700 .ssh
cd .ssh

Создайте файл authorized_keys2 (в старых системах использовался именно этот файл). Вставьте туда ваш публичный ключ ОДНОЙ СТРОКОЙ. Это важно.

Правила оформления строки ключа:

  • Не добавляйте в конец [email protected]
  • Не включайте строки BEGIN PUBLIC KEY / END PUBLIC KEY
  • Не добавляйте дополнительные теги вроде rsa-key-20090614
  • Строка должна начинаться с ssh-rsa (или ssh-ed25519 / ecdsa-sha2-nistp256 в зависимости от типа ключа)

Пример строки:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBzPeFQv+295iKzuuPH0jA9449pSHVpCwXvCR9EstmYh...

Примените права:

chmod 600 authorized_keys2

Важно: современный стандарт использует файл ~/.ssh/authorized_keys. Если у вас современные дистрибутивы, положите ключ и туда. См. раздел “Совместимость и миграция” ниже.

Важно: права каталогов и файлов критичны: домашняя директория, ~/.ssh и файл авторизации должны иметь корректные права, иначе sshd отвергнет ключи.

4. Добавить приватный ключ в агент аутентификации PuTTY (Pageant)

Запустите Pageant.exe. В трее появится иконка агента. Кликните правой кнопкой по иконке и выберите “Add Key” (Добавить ключ).

Выберите файл приватного ключа, который вы сохранили в PuTTYgen, и введите фразу-пароль при необходимости. Pageant хранит приватный ключ в памяти и подставляет его при подключении.

Pageant работает как хранитель passphrase и упрощает повторные подключения.

5. Подключиться к серверу из PuTTY

Откройте PuTTY и подключитесь как autotimesheet@yourserver (имя сервера или IP).

PuTTY — окно подключения к серверу

Если всё настроено верно, вы увидите вход без запроса пароля:

PuTTY — аутентификация с помощью публичного ключа через агент

Отладка и распространённые ошибки

Если вход не происходит, проверьте последовательно:

  • Пользователь и имя хоста указаны правильно. Ошибка сервера при попытке входа как root может мешать.
  • Права доступа: домашняя директория, .ssh (700) и authorized_keys2 (600). Используйте ls -ld и ls -l.
  • Формат ключа: ключ должен быть в одной строке и начинаться с префикса типа ssh-rsa.
  • Агент Pageant запущен и содержит ключ. Проверьте иконку в трее.
  • Логи sshd: на сервере выполните sudo tail -f /var/log/auth.log или journalctl -u sshd, чтобы увидеть причину отказа.
  • Параметры sshd: проверьте /etc/ssh/sshd_config — должны быть разрешены PubkeyAuthentication yes и (если хочете) PasswordAuthentication no.
  • SELinux/ACL: если включены, убедитесь, что контекст и права соответствуют требованиям.

Полезная команда для подробного подключения с клиента:

ssh -vvv autotimesheet@yourserver

Она покажет, какой ключ клиент предлагает и что сервер отвечает.

Альтернативные подходы

  • OpenSSH на Windows: начиная с Windows 10 можно использовать встроенный OpenSSH-клиент (ssh, ssh-agent). Это избавляет от необходимости PuTTY/Pageant.
  • WSL: используйте WSL и его OpenSSH-инструменты для единого набора команд между Windows и Linux.
  • WinSCP или FileZilla: для передачи файлов можно настроить аутентификацию по ключам и в GUI-клиентах.

Безопасность и жёсткая настройка sshd

Рекомендуемые изменения в /etc/ssh/sshd_config для повышения безопасности:

PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
PermitRootLogin no
AllowUsers autotimesheet otheruser

После изменений перезапустите сервис:

sudo systemctl restart sshd

Примечание: отключать пароли следует только после проверки, что вы можете зайти по ключу, иначе вы рискуете потерять доступ.

Совместимость и миграция

  • Файл authorized_keys2 исторически использовался на старых системах. Современные системы читают ~/.ssh/authorized_keys. Если не уверены, положите ключ в оба файла или проверьте sshd_config на наличие AuthorizedKeysFile.
  • Если необходимо, конвертируйте формат ключа PuTTY (формат .ppk) в OpenSSH через PuTTYgen (Load, Conversions -> Export OpenSSH key).

Шпаргалка — команды и проверка

  • Создать пользователя: adduser user –disabled-password
  • Права SSH: chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
  • Просмотреть логи: sudo tail -n 200 /var/log/auth.log или sudo journalctl -u sshd
  • Перезапустить sshd: sudo systemctl restart sshd
  • Подключиться с отладкой: ssh -vvv user@host

Роли и чек-листы

Администратор:

  • Создать пользователя и домашнюю директорию.
  • Настроить права (700 для .ssh, 600 для ключа).
  • Проверить sshd_config и логи.
  • По возможности ограничить вход по паролю после проверки.

Пользователь:

  • Сгенерировать пару ключей в PuTTYgen.
  • Отправить публичный ключ администратору или положить его в ~/.ssh/authorized_keys2.
  • Добавить приватный ключ в Pageant.
  • Подключиться и проверить работу.

Краткая методология проверки

  1. Сгенерировали ключи на клиенте. 2. Поместили публичный ключ на сервер в одну строку. 3. Установили корректные права. 4. Добавили приватный ключ в агент. 5. Подключились и проверили логи.

Мини-фактбокс

  • Форматы ключей: rsa, ed25519, ecdsa.
  • Рекомендуемые размеры RSA: минимум 2048 бит, предпочтительно 3072–4096 бит.
  • Ключи ed25519 обеспечивают хорошее соотношение безопасности и скорости.

Краткий глоссарий

  • Приватный ключ: секретный файл, хранить локально и безопасно.
  • Публичный ключ: то, что размещают на сервере.
  • Pageant: агент PuTTY для хранения приватных ключей в памяти.
  • sshd: демон SSH на сервере, проверяет ключи и пароли.

Когда этот подход не подходит

  • Если устройство теряется и приватные ключи не защищены фразой-паролем.
  • Если требуется централизованное управление доступом — в больших средах удобнее использовать LDAP/AD/токены или управление ключами.

Резюме

  • Аутентификация по ключам повышает безопасность и удобство.
  • Проверьте права, формат ключа и настройки sshd перед отключением паролей.
  • Используйте Pageant для удобства на Windows или OpenSSH/ssh-agent в других средах.

Критерии приёмки

  • У пользователя есть доступ по ключу без запроса пароля.
  • Файл authorized_keys2/authorized_keys содержит корректную однострочную запись ключа.
  • Права доступа установлены: 700 для .ssh и 600 для файла ключей.
  • Сервис sshd перезапущен после изменений и лог показывает успешную аутентификацию.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Не создаётся папка в Windows 10 — как исправить
Windows

Не создаётся папка в Windows 10 — как исправить

Просмотр истории обновлений Windows 10
Windows

Просмотр истории обновлений Windows 10

Установка Openfire на CentOS 5.6
Серверы

Установка Openfire на CentOS 5.6

Войти в Windows Live Mail и управлять почтой
Электронная почта

Войти в Windows Live Mail и управлять почтой

Ошибка WRP: как исправить sfc /scannow
Windows

Ошибка WRP: как исправить sfc /scannow

SSH по ключам с PuTTY и Linux за 5 шагов
Серверы

SSH по ключам с PuTTY и Linux за 5 шагов