SSH-ключи обеспечивают более безопасный способ входа на сервер по сравнению с паролем. Пара ключей состоит из открытого (public) и закрытого (private) ключа. Открытый ключ размещается на сервере, закрытый хранится у пользователя.
.ppk) посторонним лицам.
1. Генерация ключей
Windows (OpenSSH)
Современные версии Windows 10/11 имеют встроенный клиент OpenSSH.
- Откройте командную строку (cmd) или PowerShell.
- Введите команду:
ssh-keygen -t rsa -b 4096 - Нажмите
Enter, чтобы сохранить ключ в путь по умолчанию (C:\Users\User\.ssh\id_rsa). - (Опционально) Введите кодовую фразу (passphrase) для дополнительной защиты ключа.
Windows (PuTTY)
Если вы используете клиент PuTTY:
- Скачайте и запустите PuTTYgen.
- Тип ключа: RSA, битность: 4096.
- Нажмите Generate и хаотично двигайте мышью в пустой области окна.
- Сохраните открытый ключ (Save public key) и закрытый ключ (Save private key, формат
.ppk).
macOS / Linux
- Откройте Терминал.
- Выполните команду:
ssh-keygen -t rsa -b 4096 - Подтвердите путь сохранения (обычно
~/.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
Способ Б: Ручной (Универсальный)
- Скопируйте содержимое открытого ключа.
- Подключитесь к серверу (используя пароль).
- Проверьте наличие директории
.ssh:
mkdir -p ~/.ssh
chmod 700 ~/.ssh - Добавьте ключ в файл
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)
- Введите IP-адрес сервера.
- Перейдите в раздел: Connection → SSH → Auth → Credentials.
- В поле Private key file for authentication выберите ваш
.ppkфайл. - Нажмите Open.
4. Решение проблем
Если сервер отказывает в доступе (Permission denied):
- Проверьте права доступа на сервере:
- Папка
~/.sshдолжна иметь права700(drwx------). - Файл
~/.ssh/authorized_keysдолжен иметь права600(-rw-------).
- Папка
- Проверьте владельца файлов:
Файлы должны принадлежать пользователю, под которым вы входите.
chown -R user:user ~/.ssh - Конфигурация SSHD:
Убедитесь, что в/etc/ssh/sshd_configразрешен вход по ключам:
PubkeyAuthentication yes