Генератор SSH-ключів
Складає точну команду ssh-keygen, коментар ключа за призначенням і готовий до використання ярлик ~/.ssh/config. Ця сторінка ніколи не генерує справжній ключ — вона лише складає команду, яку ви запускаєте самі.
У вашому браузері ключ ніколи не створюється.
Крок 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 та активацією за кілька хвилин.