Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Linux / DevOps

Генерация SSH-ключа на Windows (PuTTYgen / PowerShell) и вход на Linux без пароля

Обновлено: 27.08.2026 · Официальная документация ↗

Почему вход по SSH-ключам намного удобнее и безопаснее паролей

Каждый раз вводить длинный сложный пароль при входе на сервер неудобно, а сохранение паролей в текстовых файлах угрожает безопасности. Асимметричная криптография SSH решает эту проблему. Вы создаете пару ключей: Закрытый (Private Key) хранится в строгом секрете на вашем компьютере с Windows, а Открытый (Public Key) копируется на удаленный сервер Linux. Сервер опознает ваш компьютер автоматически за доли секунды.

Структура пары ключей

Тип ключаГде хранитсяРасширение файлаПравило безопасности
Private (Приватный)На вашем ПК Windows.ppk (PuTTY) или id_ed25519Секретно! Никому не передавать и не отправлять по почте.
Public (Публичный)Копируется на Linux сервер.pubОткрытый текст (можно публиковать везде).

Способы генерации ключей и настройки входа

Способ 1: Современный стандарт через Windows PowerShell / CMD (Рекомендуемый)

В Windows 10/11 встроен официальный клиент OpenSSH. Откройте командную строку PowerShell на своем компьютере:

ssh-keygen -t ed25519 -C "my-windows-pc"

Нажмите Enter для сохранения в папку по умолчанию (C:\Users\ВашеИмя\.ssh\id_ed25519). Парольную фразу (passphrase) можно оставить пустой, нажав Enter.

Скопируйте публичный ключ на удаленный Linux-сервер одной командой:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh ubuntu@IP_СЕРВЕРА "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Способ 2: Генерация через графическую программу PuTTYgen

  1. Скачайте и запустите официальную утилиту PuTTYgen (входит в пакет PuTTY).
  2. Внизу выберите тип ключа: EdDSA (или Ed25519 / RSA 4096).
  3. Нажмите кнопку Generate и хаотично водите мышкой по экрану для создания криптографической энтропии.
  4. Нажмите кнопку Save private key и сохраните секретный файл my_key.ppk на свой компьютер.
  5. В верхнем текстовом поле «Public key for pasting into OpenSSH authorized_keys file» выделите и скопируйте весь текст, начинающийся на ssh-ed25519 AAAA....

Шаг 3: Добавление публичного ключа на сервере Linux вручную

Подключитесь к серверу по паролю и вставьте скопированную строчку в файл авторизованных ключей:

mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys

Вставьте ключ, сохраните файл (Ctrl + O -> Enter -> Ctrl + X) и обязательно выставьте строгие права доступа:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Шаг 4: Настройка подключения в PuTTY

  1. Откройте PuTTY, введите IP-адрес сервера.
  2. В левом меню перейдите в Connection -> SSH -> Auth -> Credentials (или Auth).
  3. В поле Private key file for authentication выберите ваш сохраненный файл my_key.ppk.
  4. Вернитесь в раздел Session, сохраните сессию и нажмите Open — вход произойдет мгновенно без ввода пароля!

Типовые ошибки администраторов

  • Копирование содержимого сохраненного файла Public Key из PuTTYgen: Кнопка «Save public key» в PuTTYgen сохраняет ключ в формате RFC 4716, который не понимает OpenSSH. В файл authorized_keys на Linux нужно вставлять только одну длинную строку из верхнего окна PuTTYgen!
  • Слишком открытые права на папку .ssh: Если папка ~/.ssh имеет права 777, SSH-демон из соображений безопасности заблокирует вход по ключу. Права должны быть строго 700 для папки и 600 для файла authorized_keys.
Хотите внедрить беспарольную аутентификацию по ключам для всех серверов компании?
ITSTM настроит централизованное хранилище SSH-сертификатов (Vault SSH CA), ротацию ключей и доступ по временным одноразовым токенам.
💡 Практика специалистов: При генерации SSH-ключей всегда выбирайте современный криптографический алгоритм 'Ed25519' вместо устаревшего RSA. Ключи Ed25519 имеют фиксированную компактную длину, работают быстрее и обладают максимальной математической стойкостью к современным алгоритмам криптоанализа.

Частые вопросы (FAQ)

Как конвертировать OpenSSH ключ (.pem) в формат PuTTY (.ppk)?

В PuTTYgen нажмите 'Conversions' -> 'Import key' -> выберите файл закрытого ключа OpenSSH -> затем нажмите 'Save private key'.

Можно ли использовать один и тот же приватный ключ на разных компьютерах?

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

Что делать, если PuTTY пишет 'Server refused our key'?

Проверьте права доступа на сервере: папка ~/.ssh должна иметь права 700, а файл authorized_keys — права 600, и их владельцем должен быть ваш текущий пользователь.

Где хранятся SSH-ключи в Windows 10/11 по умолчанию?

В домашней папке пользователя: C:\Users\ИмяПользователя\.ssh\.

Полезные материалы
Рекомендуем