Создание SSH-ключей и подключение Печать

  • 0

SSH-ключи обеспечивают более безопасный способ входа на сервер по сравнению с паролем. Пара ключей состоит из открытого (public) и закрытого (private) ключа. Открытый ключ размещается на сервере, закрытый хранится у пользователя.

Важно: Никогда не передавайте свой закрытый ключ (файл без расширения или .ppk) посторонним лицам.

1. Генерация ключей

Windows (OpenSSH)

Современные версии Windows 10/11 имеют встроенный клиент OpenSSH.

  1. Откройте командную строку (cmd) или PowerShell.
  2. Введите команду:
    ssh-keygen -t rsa -b 4096
  3. Нажмите Enter, чтобы сохранить ключ в путь по умолчанию (C:\Users\User\.ssh\id_rsa).
  4. (Опционально) Введите кодовую фразу (passphrase) для дополнительной защиты ключа.

Windows (PuTTY)

Если вы используете клиент PuTTY:

  1. Скачайте и запустите PuTTYgen.
  2. Тип ключа: RSA, битность: 4096.
  3. Нажмите Generate и хаотично двигайте мышью в пустой области окна.
  4. Сохраните открытый ключ (Save public key) и закрытый ключ (Save private key, формат .ppk).

macOS / Linux

  1. Откройте Терминал.
  2. Выполните команду:
    ssh-keygen -t rsa -b 4096
  3. Подтвердите путь сохранения (обычно ~/.ssh/id_rsa) и, при желании, задайте кодовую фразу.

2. Размещение открытого ключа на сервере

Для входа по ключу необходимо добавить содержимое открытого ключа (файл id_[rsa.pub](http://rsa.pub) или содержимое поля "Public key for pasting..." в PuTTYgen) в файл ~/.ssh/authorized_keys на сервере.

Способ А: Автоматический (Linux/macOS)

Используйте утилиту ssh-copy-id:

ssh-copy-id user@your-server-ip

Способ Б: Ручной (Универсальный)

  1. Скопируйте содержимое открытого ключа.
  2. Подключитесь к серверу (используя пароль).
  3. Проверьте наличие директории .ssh:
    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
  4. Добавьте ключ в файл authorized_keys:
    echo "ваш-public-key" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys

3. Подключение к серверу

Через терминал (Linux/macOS/Windows OpenSSH)

ssh user@your-server-ip

Если ключ сохранен в нестандартном месте:

ssh -i /путь/к/приватному/ключу user@your-server-ip

Через PuTTY (Windows)

  1. Введите IP-адрес сервера.
  2. Перейдите в раздел: ConnectionSSHAuthCredentials.
  3. В поле Private key file for authentication выберите ваш .ppk файл.
  4. Нажмите Open.

4. Решение проблем

Если сервер отказывает в доступе (Permission denied):

  1. Проверьте права доступа на сервере:
    • Папка ~/.ssh должна иметь права 700 (drwx------).
    • Файл ~/.ssh/authorized_keys должен иметь права 600 (-rw-------).
  2. Проверьте владельца файлов:
    Файлы должны принадлежать пользователю, под которым вы входите.
    chown -R user:user ~/.ssh
  3. Конфигурация SSHD:
    Убедитесь, что в /etc/ssh/sshd_config разрешен вход по ключам:
    PubkeyAuthentication yes

Помог ли вам данный ответ?