Для чего используется SSH-ключ при работе с Git?

«Для чего используется SSH-ключ при работе с Git?» — вопрос из категории Инструменты тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

SSH-ключ используется для безопасной аутентификации при подключении локального Git-клиента к удалённым репозиториям на сервисах вроде GitHub, GitLab или Bitbucket. Он заменяет ввод логина и пароля, используя криптографические ключи.

Принцип работы:

  1. Приватный ключ хранится на вашем компьютере и никогда никуда не передаётся.
  2. Публичный ключ загружается в настройки вашего аккаунта на Git-хостинге.
  3. При подключении сервер проверяет, что предъявленный приватный ключ соответствует сохранённому публичному.

Основные преимущества:

  • Безопасность: Устойчивее к атакам перебора, чем пароли.
  • Удобство: Не требует постоянного ввода учётных данных.
  • Автоматизация: Ключевой элемент для CI/CD-пайплайнов и скриптов.

Практические шаги:

  1. Генерация ключа (терминал):
    ssh-keygen -t ed25519 -C "your_email@example.com"
    # Следуйте инструкциям. По умолчанию ключи сохранятся в ~/.ssh/
  2. Добавление публичного ключа на хостинг:
    • Скопируйте содержимое публичного ключа: cat ~/.ssh/id_ed25519.pub
    • Вставьте его в раздел SSH and GPG keys настроек вашего аккаунта GitHub/GitLab.
  3. Проверка подключения:
    ssh -T git@github.com
    # В ответ должно прийти приветственное сообщение об успешной аутентификации.
  4. Клонирование репозитория с использованием SSH:
    git clone git@github.com:username/repository.git