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

Как настроить аутентификацию 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
Автор
Редакция

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

Как устроить идеальную вечеринку для просмотра ТВ
Развлечения

Как устроить идеальную вечеринку для просмотра ТВ

Как распаковать несколько RAR‑файлов сразу
Инструменты

Как распаковать несколько RAR‑файлов сразу

Приватный просмотр в Linux: как и зачем
Приватность

Приватный просмотр в Linux: как и зачем

Windows 11 не видит iPod — способы исправить
Руководство

Windows 11 не видит iPod — способы исправить

PS5: как настроить игровые пресеты
Консоли

PS5: как настроить игровые пресеты

Как переключить камеру в Omegle на iPhone и Android
Руководство

Как переключить камеру в Omegle на iPhone и Android