SSH-ключ нужен, чтобы подключаться к VPS и работать с GitHub или GitLab без постоянного ввода пароля от учётной записи. Создание занимает несколько минут: достаточно выполнить одну команду и сохранить два файла. Публичный ключ добавляют на сервер или в сервис, а приватный оставляют на своём компьютере.
Что такое SSH-ключ
SSH-ключ состоит из двух связанных частей. Приватный ключ подтверждает, что подключаетесь именно вы, и хранится на вашем компьютере. Публичный ключ можно разместить на VPS, в GitHub или GitLab.
Когда вы входите на сервер, компьютер использует приватный ключ для проверки. Сам файл на сервер не отправляется. Сервер сверяет результат с публичным ключом и открывает доступ.
Вебмастеру SSH пригодится для работы с VPS, на котором размещены сайт, бот, трекер или другой инструмент. Разработчики используют такие ключи, чтобы загружать код на сервер и работать с Git-репозиториями.

Какой тип ключа выбрать
Для нового ключа подойдёт Ed25519. Этот вариант поддерживают современные версии OpenSSH, GitHub и GitLab. Команда выглядит так:
ssh-keygen -t ed25519 -C "you@example.com"Вместо you@example.com укажите свою почту или понятное название, например work-laptop. Эта подпись помогает отличать ключи и не влияет на подключение.
На старом сервере Ed25519 может не поддерживаться. В таком случае создайте RSA-ключ на 4096 бит:
ssh-keygen -t rsa -b 4096 -C "you@example.com"Как создать SSH-ключ
Основная команда одинаково работает в Windows, Linux и macOS. Отличается только программа, в которой её нужно выполнить.
- В Windows откройте PowerShell или Windows Terminal. В Linux и macOS откройте «Терминал».
- Выполните команду ssh-keygen -t ed25519 -C «you@example.com».
- Когда программа предложит выбрать папку, нажмите Enter. Ключ сохранится в стандартном месте.
- Придумайте кодовую фразу и введите её два раза. Символы во время ввода не показываются — это нормальная работа терминала.
После этого программа покажет пути к двум созданным файлам. На Windows они находятся в папке пользователя, а в Linux и macOS — в скрытой папке .ssh.
| Система | Приватный ключ | Публичный ключ |
| Windows | C:\Users\<имя>\.ssh\id_ed25519 | C:\Users\<имя>\.ssh\id_ed25519.pub |
| Linux | ~/.ssh/id_ed25519 | ~/.ssh/id_ed25519.pub |
| macOS | ~/.ssh/id_ed25519 | ~/.ssh/id_ed25519.pub |

Если программа спрашивает, нужно ли перезаписать существующий id_ed25519, ответьте n. Старый ключ может использоваться для другого сервера или аккаунта. Запустите команду ещё раз и при выборе пути укажите новое имя, например ~/.ssh/id_ed25519_work.
Какой файл можно передавать
После генерации появятся два файла с похожими названиями. Для добавления доступа нужен только файл с расширением .pub.
| Файл | Для чего нужен |
| id_ed25519 | Приватный ключ. Остаётся на вашем компьютере |
| id_ed25519.pub | Публичный ключ. Его добавляют на VPS, в GitHub или GitLab |
Публичный ключ выглядит как одна длинная строка, начинающаяся с ssh-ed25519. Копировать нужно всю строку целиком. Приватный файл нельзя отправлять в чат, прикладывать к тикету поддержки или загружать в Git.

Как скопировать публичный ключ
В Windows откройте PowerShell и выполните команду:
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | Set-ClipboardСодержимое публичного ключа попадёт в буфер обмена. Его можно сразу вставить в панель хостинга, GitHub или GitLab.
В macOS используйте такую команду:
pbcopy < ~/.ssh/id_ed25519.pubВ Linux выведите ключ в терминал и скопируйте показанную строку:
cat ~/.ssh/id_ed25519.pubКак добавить ключ на VPS
Во многих панелях хостинга публичный ключ можно добавить при создании VPS или в настройках сервера. Найдите раздел SSH keys, вставьте скопированную строку и сохраните изменения. Название раздела зависит от хостинг-провайдера.
На Linux и macOS ключ можно отправить на уже работающий сервер командой:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ipЗамените user именем пользователя, а server_ip — IP-адресом VPS. При выполнении команда попросит текущий пароль от сервера и добавит публичный ключ в настройки выбранного пользователя.
После этого проверьте вход:
ssh user@server_ipПри первом подключении появится запрос на подтверждение адреса сервера. Сверьте показанный отпечаток с данными хостинга и подтвердите вход. Если вы задали кодовую фразу для ключа, терминал запросит её.
Как добавить ключ в GitHub или GitLab
В GitHub откройте Settings → SSH and GPG keys → New SSH key. Укажите название компьютера, вставьте содержимое id_ed25519.pub и сохраните ключ. Проверить подключение можно командой:
ssh -T git@github.comВ GitLab откройте настройки профиля и найдите раздел SSH Keys. Вставьте публичный ключ, добавьте понятное название и сохраните. Для проверки используйте:
ssh -T git@gitlab.comПри первом запуске обе команды могут попросить подтвердить адрес сервиса. После успешной проверки появится сообщение о том, что аккаунт распознан.
Что делать, если подключение не работает
Большинство ошибок связано с отсутствующим OpenSSH, перезаписью старого ключа или неверным логином на сервере. Начните с сообщения, которое показывает терминал.
| Сообщение | Что делать |
| ssh-keygen не найден | В Windows установите дополнительный компонент OpenSSH Client. В Ubuntu и Debian понадобится пакет openssh-client |
| id_ed25519 already exists | Сохраните новый ключ под другим именем, чтобы не потерять действующий доступ |
| Permission denied (publickey) | Проверьте логин, адрес сервера и убедитесь, что добавили файл с расширением .pub |
| Кодовая фраза будто не вводится | Терминал скрывает символы. Введите фразу и нажмите Enter |
Если вы добавляете ключ на VPS, не отключайте вход по паролю до проверки. Откройте второе окно терминала и убедитесь, что новое подключение работает. Текущую сессию лучше оставить открытой, пока проверка не завершена.
Как хранить SSH-ключи
Публичный файл .pub можно добавлять в сервисы и передавать администратору. Приватный ключ должен оставаться у владельца. Для рабочего и личного компьютера лучше создать разные пары: при потере одного устройства доступ можно будет отозвать отдельно.
Если приватный ключ оказался в открытом доступе, удалите связанный публичный ключ с серверов и из настроек сервисов. После этого создайте новую пару. Старый ключ больше не используйте.
Что изучать дальше
SSH-ключ решает только задачу входа. Для самостоятельной работы с VPS понадобятся файловая система Linux, пользователи и права, установка программ, Git, сетевые настройки и развёртывание проектов. Эти темы входят в базовую подготовку Linux-администратора и DevOps-инженера.
Курс «Основы администрирования Linux» в Академии IT DMS
Сертификат или удостоверение о повышении квалификации.
AFFTIMES−5 % на первую покупку. Скидка суммируется с любыми акциями школы. Если оплачиваете через менеджера в чате, назовите ему промокод.
Для практики можно подключиться к тестовому VPS, загрузить небольшой проект из Git-репозитория и запустить его на сервере. Если сервер ещё не выбран, сначала разберитесь, как выбрать хостинг для сайта и чем VPS отличается от обычного хостинга.
FAQ
Откройте PowerShell и выполните ssh-keygen -t ed25519 -C "you@example.com". Нажмите Enter, чтобы сохранить ключ в стандартной папке, затем задайте кодовую фразу. Готовые файлы появятся в C:\Users\<имя>\.ssh.
Для современного сервера, GitHub и GitLab обычно подходит Ed25519. RSA на 4096 бит используют, если Ed25519 не поддерживается старой системой или запрещён правилами организации.
В Linux и macOS это файл ~/.ssh/id_ed25519.pub. В Windows он хранится по адресу C:\Users\<имя>\.ssh\id_ed25519.pub. Публичный файл всегда имеет расширение .pub.
Да, этот файл предназначен для добавления на сервер или в настройки сервиса. Файл id_ed25519 без расширения является приватным, поэтому его передавать нельзя.
Сервер может не найти добавленный публичный ключ или искать его у другого пользователя. Проверьте логин, IP-адрес и место, куда добавили ключ. Запрос Enter passphrase for key относится к кодовой фразе самого ключа, а не к паролю от сервера.





