Назад до інструментів

Генератор SSH-ключів

Складає точну команду ssh-keygen, коментар ключа за призначенням і готовий до використання ярлик ~/.ssh/config. Ця сторінка ніколи не генерує справжній ключ — вона лише складає команду, яку ви запускаєте самі.

У вашому браузері ключ ніколи не створюється.

Вебсторінка, що видає вам приватний ключ, — це якраз те, чому не варто довіряти: приватна половина ніколи не повинна залишати машину, на якій вона народилася. Цей інструмент лише складає команду ssh-keygen нижче. Ви копіюєте й запускаєте її самі, у власному терміналі, де ключ насправді генерується і залишається.

Крок 1

Оберіть алгоритм

Обидва створюють справжню пару ключів. Різниця в розмірі, швидкості та в тому, які сервери їх приймають.

Ed25519 — сучасний алгоритм на еліптичних кривих: короткі ключі, швидка генерація та автентифікація, підтримується кожним SSH-сервером приблизно за останні десять років. Використовуйте його, якщо щось конкретне не змушує відмовитися.

Використовуйте you@purpose-year, а не типовий коментар machine@host. Коли authorized_keys на сервері накопичує п'ять ключів, саме коментар підказує, якому ноутбуку чи призначенню належить кожен із них.

Залиште порожнім, щоб прийняти типове розташування ssh-keygen (показане вище як заповнювач). Задавайте це лише якщо тримаєте кілька ключів поруч.

Більше значення уповільнює перебір викраденого ключа, захищеного паролем-фразою — і водночас уповільнює кожне розблокування. Залиште порожнім для типового значення ssh-keygen.

Результат

Запустіть це у власному терміналі

ssh-keygen -t ed25519 -C 'you@wespner-vps-2026'

Збережено в типовому розташуванні: ~/.ssh/id_ed25519 (та ~/.ssh/id_ed25519.pub).

Пароль-фраза

Її у вас запитають — ось у чому компроміс

ssh-keygen запропонує ввести пароль-фразу двічі, або двічі натиснути Enter, щоб без неї. Нічого вище не задає її за вас — пароль-фразі місце у вашому терміналі, ніколи в збереженій команді.

З пароль-фразою: якщо сам файл ключа коли-небудь буде викрадено — крадіжка ноутбука, витік резервної копії — він марний без пароль-фрази. Плата за це — вводити її щоразу при підключенні.

Без неї: нуль незручностей, але будь-хто, хто отримає файл приватного ключа, одразу заходить. ssh-agent (Linux), macOS Keychain або Pageant (PuTTY) вирішують проблему незручності: розблокуйте раз за сесію, і всі подальші з'єднання проходять мовчки, тож рідко є вагома причина пропускати пароль-фразу.

Чому це важливо

Ed25519 проти RSA, простими словами

Ed25519 новіший алгоритм на еліптичних кривих: ключ — кілька сотень байтів замість кількох кілобайтів, математика швидша з обох боків, і це рекомендований за замовчуванням вибір на будь-якому сервері приблизно за останні десять років.

RSA 4096 старіший і повільніший, але його розуміє буквально кожна коли-небудь випущена реалізація SSH. Звертайтеся до нього лише тоді, коли сервер занадто старий чи занадто обмежений, щоб приймати Ed25519 — застаріле мережеве обладнання, деякі керовані хостинги, старовинні корпоративні пристрої. Якщо не знаєте, чи це стосується вас, — не стосується: використовуйте Ed25519.

Крок 2

Куди йде ключ

Ці деталі живлять і команди копіювання на сервер нижче, і ярлик SSH-конфігурації у кроці 3.

Доставка ключа

Покладіть публічний ключ на сервер

З вашої машини йде лише файл .pub. Приватний ключ (без .pub) нікуди не копіюється.

Найпростіше: ssh-copy-id (macOS/Linux, або WSL/Git Bash у Windows)

ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]

Ручний спосіб: додайте до authorized_keys самостійно

cat ~/.ssh/id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Цей однорядковий скрипт заодно встановлює права 700 на ~/.ssh і 600 на authorized_keys — SSH мовчки ігнорує обидва файли, якщо права доступу вільніші за це. Скористайтеся калькулятором chmod і chown якщо колись знадобиться виправити ці права доступу заднім числом, або якщо хочете точно побачити, що дозволяють ці два режими.

Крок 3

Складіть ярлик ~/.ssh/config

Перетворює ssh [email protected] -p 22 -i ~/.ssh/id_ed25519 просто на ssh wespner-vps.

~/.ssh/config

Host wespner-vps
    HostName play.wespner.eu
    User deploy
    Port 22
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes

Вставте цей блок у ~/.ssh/config (створіть файл, якщо його ще немає), а потім підключайтеся просто ssh wespner-vps — більше ніколи не потрібні ні користувач, ні хост, ні порт, ні прапорець -i.

Windows

OpenSSH у PowerShell або PuTTYgen

Windows 10/11 постачається з OpenSSH за замовчуванням — команда ssh-keygen вище працює без змін у PowerShell чи Command Prompt. Ключі потрапляють у C:\Users\you\.ssh\ (PowerShell розкриває ~ так само).

ssh-copy-id не входить до складу Windows OpenSSH. Скористайтеся натомість еквівалентом для PowerShell:

Копіювання на сервер у PowerShell

Get-Content ($env:USERPROFILE + '\.ssh\id_ed25519.pub') | ssh [email protected] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Надаєте перевагу PuTTY/WinSCP? Згенеруйте через PuTTYgen (Generate → поворухніть мишею → Save private key as .ppk), а потім скопіюйте текст публічного ключа зверху його вікна прямо в authorized_keys. Конфігурація лежить за тим самим шляхом ~/.ssh/config, якщо ви на клієнті OpenSSH — Pageant/WinSCP натомість використовують власний список збережених сесій.

macOS / Linux

Термінал, нативно

Запустіть команду вище прямо в Терміналі. Ключі потрапляють у ~/.ssh/, а ssh-copy-id постачається майже з кожним дистрибутивом (macOS: brew install ssh-copy-id, якщо відсутній).

Конфігурація лежить у ~/.ssh/config — той самий блок, що й у кроці 3, перекладати нічого не потрібно.

Щоб не вводити пароль-фразу при кожному з'єднанні: ssh-add ~/.ssh/id_ed25519 завантажує її у ssh-agent на час сесії. На macOS ssh-add --apple-use-keychain ~/.ssh/id_ed25519 (або UseKeychain yes в блоці конфігурації) запам'ятовує її між перезавантаженнями через Keychain.

Керуєте власним ігровим сервером?

Ігрові сервери Wespner із захистом від DDoS, дисками NVMe та активацією за кілька хвилин.

Переглянути хостинг