Ответ
SSH-ключ используется для безопасной аутентификации при подключении локального Git-клиента к удалённым репозиториям на сервисах вроде GitHub, GitLab или Bitbucket. Он заменяет ввод логина и пароля, используя криптографические ключи.
Принцип работы:
- Приватный ключ хранится на вашем компьютере и никогда никуда не передаётся.
- Публичный ключ загружается в настройки вашего аккаунта на Git-хостинге.
- При подключении сервер проверяет, что предъявленный приватный ключ соответствует сохранённому публичному.
Основные преимущества:
- Безопасность: Устойчивее к атакам перебора, чем пароли.
- Удобство: Не требует постоянного ввода учётных данных.
- Автоматизация: Ключевой элемент для CI/CD-пайплайнов и скриптов.
Практические шаги:
- Генерация ключа (терминал):
ssh-keygen -t ed25519 -C "your_email@example.com" # Следуйте инструкциям. По умолчанию ключи сохранятся в ~/.ssh/ - Добавление публичного ключа на хостинг:
- Скопируйте содержимое публичного ключа:
cat ~/.ssh/id_ed25519.pub - Вставьте его в раздел SSH and GPG keys настроек вашего аккаунта GitHub/GitLab.
- Скопируйте содержимое публичного ключа:
- Проверка подключения:
ssh -T git@github.com # В ответ должно прийти приветственное сообщение об успешной аутентификации. - Клонирование репозитория с использованием SSH:
git clone git@github.com:username/repository.git