Генерация ключа в Windows и его перенос на Debian

Процесс состоит из двух этапов: создание ключа в PuTTYgen и «прописка» его публичной части на сервере.

  1. Запустите PuTTYgen (входит в пакет установки PuTTY).
  2. В разделе Parameters (внизу) выберите тип ключа: Ed25519 (как самый современный и безопасный).
  3. Нажмите кнопку Generate и поводите курсором мыши в пустом поле, чтобы создать случайные данные для ключа.
  4. Важно: В поле Key passphrase введите пароль. Это зашифрует ваш закрытый ключ на диске (в формате PPK3).
  5. Нажмите Save private key и сохраните файл (например, `my_key.ppk`). Никому его не передавайте!
  6. Не закрывайте окно — вам понадобится текст из поля «Public key for pasting into OpenSSH authorized_keys file».

Теперь нужно передать публичную часть ключа на ваш сервер Debian.

  1. Зайдите на сервер по обычному паролю.
  2. Создайте папку `.ssh` в домашней директории (если её нет) и файл для ключей:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
  1. Откройте файл для редактирования: `nano ~/.ssh/authorized_keys`.
  2. Скопируйте текст из верхнего поля PuTTYgen (начинается на `ssh-ed25519 …`) и вставьте его в этот файл одной строкой.
  3. Нажмите `Ctrl+O`, `Enter` (сохранить) и `Ctrl+X` (выход).

Теперь настроим саму программу PuTTY, чтобы она знала, какой ключ использовать:

  1. Откройте PuTTY.
  2. В поле Host Name введите IP вашего сервера.
  3. В левом дереве меню перейдите в: ConnectionSSHAuthCredentials.
  4. В поле Private key file for authentication нажмите *Browse* и выберите ваш файл `my_key.ppk`.
  5. Вернитесь в раздел Session, введите имя для сессии в поле *Saved Sessions* и нажмите Save.

Чтобы PuTTY не спрашивала имя пользователя каждый раз, перейдите в ConnectionData и в поле Auto-login username введите ваше имя пользователя на Debian (например, `root` или `user`).

Теперь при нажатии Open сервер запросит только Passphrase (пароль от ключа), а не пароль от учетной записи пользователя.