Использование SSH для работы с Git: почему это удобно и безопасно

3e25c37c cd5f 4182 a1c2 c1240dce415c HTML

Я активно использую Git уже более пяти лет. Одним из первых неудобств, с которым я столкнулся, была необходимость каждый раз вводить логин и пароль при взаимодействии с удаленными репозиториями. К счастью, вскоре я узнал о возможности использования SSH-ключей, что значительно облегчило мою работу. После настройки SSH-ключей на рабочем компьютере, в тестовой среде и на продакшене работа с Git стала гораздо проще и удобнее.

Почему SSH предпочтительнее HTTPS

GitHub рекомендует использовать HTTPS-подключение, так как оно обеспечивает универсальный доступ к репозиториям, даже если на вашем пути есть файрволлы. Настройка такого подключения действительно проста — достаточно иметь логин и пароль от вашего GitHub аккаунта. Однако, использование HTTPS имеет свои недостатки: каждый раз при выполнении команд git pull, git clone, git push или git fetch вам нужно будет вводить логин и пароль. Один из способов облегчить эту задачу — включить кеширование учетных данных, но это решение работает только в течение ограниченного времени.

Поэтому я рекомендую использовать SSH-подключение. Оно имеет несколько преимуществ:

  1. Быстрота: Не нужно вводить логин и пароль каждый раз при обмене данными.
  2. Удобство: Настроив SSH-ключи один раз, вы сможете использовать их долгое время без дополнительных действий.
  3. Безопасность: SSH-ключи обеспечивают более высокий уровень безопасности по сравнению с HTTPS. В случае утечки логина и пароля вам придется менять доступ ко всем вашим репозиториям. Если же скомпрометированы SSH-ключи, их можно легко заменить.

Настройка SSH-ключей для Git

Настроить SSH-ключи несложно. Вот пошаговое руководство:

  1. Создание SSH-ключа

    Откройте терминал и введите команду:                                                                                                     

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

     

    Замените «your_email@example.com» на ваш актуальный адрес электронной почты. Это создаст новый SSH-ключ с заголовком, соответствующим вашему e-mail.

  2. Выбор файла для сохранения ключа

    Система запросит путь для сохранения ключа:                                                                                       

    Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

     

    Нажмите Enter, чтобы сохранить ключ по умолчанию.3. Установка пароля (опционально)

    Вы можете установить пароль для ключа или пропустить этот шаг, нажав Enter.

    4. Запуск SSH-агента

    Активируйте SSH-агент:

    eval "$(ssh-agent -s)"

    5. Добавление ключа в SSH-агент

    Добавьте ваш SSH-ключ в агент:

    ssh-add ~/.ssh/id_rsa

    6. Добавление ключа в GitHub

    Для этого перейдите в настройки вашего аккаунта на GitHub:

    7. Переход на работу через SSH

    В вашем репозитории на GitHub нажмите на зеленую кнопку «Clone or download» и выберите «Use SSH».

    • Нажмите на иконку профиля в правом верхнем углу и выберите «Settings».
    • В меню выберите «SSH and GPG Keys».
    • Нажмите «New SSH key», введите заголовок и вставьте ваш публичный ключ из файла, который вы сохранили ранее.
    • Нажмите «Add SSH key».                                                                                                                            Теперь вы готовы работать с Git через SSH, что значительно облегчит вашу работу и повысит безопасность вашего проекта.
Оцените статью