Как защитить доступ к Github с помощью SSH-ключа
Привязка SSH-ключа к Github — один из ключевых шагов при обеспечении безопасности вашей учетной записи. Он позволяет вам использовать возможности криптографии с открытым ключом для защиты ваших репозиториев Git. В этой статье вы узнаете, что такое ключи SSH и как их можно использовать для защиты вашей учетной записи Github.
Примечание. Вы впервые знакомы с Git? Учитесь у наше руководство по началу работы прямо сейчас .
Что такое ключи SSH?
По сути, ключи SSH — это открытые ключи, которые вы храните на удаленном сервере. Они действуют как прокси-сервер аутентификации, который позволяет вам подключаться и взаимодействовать с компьютерами без указания имени пользователя и пароля.
Contents
Что такое ключи SSH?
-public-key.png" alt="Терминал, показывающий пример открытого ключа SSH.">
Это работает так: всякий раз, когда вы подключаетесь к компьютеру через SSH, ваш локальный компьютер отправляет сообщение, подписанное вашим личным ключом SSH. Затем удаленный компьютер использует ваш открытый ключ SSH, чтобы проверить подлинность сообщения и войти в систему.
Github использует тот же подход для проверки вашей личности на своих серверах. Веб-сайт использует ваш открытый ключ всякий раз, когда вы загружаете и изменяете свой репозиторий. Это гарантирует, что вы не раскроете свои учетные данные Github при отправке коммитов.
Полезно знать. К установка GNU Клеопатры в Linux узнайте больше о криптографии с открытым ключом и о том, как она может защитить вашу личность в Интернете.
Генерация ключей SSH для Github
Для начала откройте новый сеанс терминала с помощью средства запуска приложений вашего дистрибутива.
Убедитесь, что на вашем компьютере установлен OpenSSH и демон агента SSH запущен:
sudo apt install ssh
eval `ssh-agent -s`
Выполните следующую команду, чтобы запустить мастер Генерация ключей SSH :
Затем мастер спросит вас, хотите ли вы использовать собственное имя файла ключей SSH для своего ключа. Нажмите Enter, чтобы принять имя и местоположение по умолчанию.
Введите пароль для нового ключа SSH. Это будет использоваться в качестве парольной фразы вашего локального компьютера при каждом подключении к вашей учетной записи Gith
Генерация ключей SSH для Github
https://saintist.ru/wp-content/uploads/2024/05/secure-github-access-ssh-key-03-passphrase-prompt.png" alt="Терминал, показывающий запрос пароля для нового ключа SSH.">
Примечание. Вы также можете оставить поле ввода пароля пустым, если хотите создать SSH-ключ без пароля.
Добавьте вновь сгенерированный ключ SSH к работающему в данный момент агенту SSH:
ssh-add ~/.ssh/id_ed25519
Полезно знать : если вы новичок в Github, узнайте некоторые из лучших приложений, которые вам следует добавить в свой репозиторий Github .
Добавление ключей SSH в Github
Когда ваш новый SSH-ключ настроен и работает, вы теперь можете связать свой локальный компьютер со своей учетной записью Github. Для начала выполните следующую команду, чтобы распечатать открытый ключ SSH:
cat ~/.ssh/id_ed25519.pub
Выделите свой открытый ключ SSH, нажмите правую кнопку мыши и выберите «Копировать».
Откройте новый сеанс браузера, затем перейдите на домашнюю страницу Github.
Нажмите значок своего профиля в правом верхнем углу страницы.
Нажмите «Настройки» в раскрывающемся списке.
Выберите «Ключи SSH и GPG» на левой боковой панели страницы настроек.
Нажмите кнопку «Новый ключ SSH» рядом с заголовком «Ключи SSH».
Выберите текстовое поле «Название», затем укажите имя для вашего ключа.
Нажмите текстовое поле «Ключ», затем нажмите Ctrl+ V, чтобы вставить ключ SSH.
Нажмите «Добавить ключ SSH», чтобы сохранить новые настройки.
Добавление ключей SSH в Github-ssh-key-09-add-ssh-key-button.png" alt="Безопасный доступ к Github Ssh Key 09 Кнопка добавления Ssh ключа">
Откройте новый сеанс терминала и выполните следующую команду:
Введите «да», затем нажмите Enter.
Это запустит новый сеанс SSH с одним из принимающих серверов Github. Если ваш ключ работает правильно, будет напечатано короткое сообщение, подтверждающее ваше SSH-соединение.
Управление ключами SSH
Хотя для большинства пользователей достаточно одного ключа SSH, бывают случаи, когда вам необходимо синхронизировать репозиторий Git, размещенный на нескольких компьютерах. Для этого вам необходимо импортировать ключи SSH для конкретного компьютера.
Откройте новый сеанс терминала на компьютере, который вы хотите связать с Github.
Убедитесь, что демон OpenSSH установлен и запущен в системе:
sudo apt install ssh
eval `ssh-agent -s`
Выполните следующую команду, чтобы создать отдельный ключ SSH для вашего нового компьютера:
Введите безопасную фразу-пароль для нового ключа SSH, затем нажмите Enter.
Добавьте новый альтернативный ключ в свой SSH-агент:
ssh-add ~/.ssh/id-ed25519-pc2
Распечатайте содержимое вашего открытого ключа SSH, а затем скопируйте его в буфер обмена вашей системы:
cat ~/.ssh/id-ed-25519-pc2
Вернитесь на страницу «Ключи SSH и GPG» вашего аккаунта Github.
Снова нажмите кнопку «Новый ключ SSH».
Укажите уникальную метку для нового ключа, а затем вставьте содержимое буфера обмена в текстовое поле «Ключ».
Нажмите «Добавить ключ SSH», чтобы применить новые настройки.
Проверьте, использует ли ваш новый компьютер ваш безопасный ключ для подключения к Github, войдя в систему через SSH:
Изменение существующих ключей SSH
Помимо отправки вновь сгенерированных ключей в Github, вы также можете изменить существующие ключи SSH, которые уже есть на вашем компьютере. Это может быть полезно, если вам уже использование ключей SSH в качестве входа в систему без пароля в Linux .
Чтобы изменить существующий ключ, перейдите в каталог «.ssh» вашего компьютера:
Запустите ssh-keygen
с флагами -p
, -o
и -f
вместе с вашим ключом SSH. Это позволит вам изменить пароль существующего закрытого ключа:
ssh-keygen -p -o -f ./id-ed25519
Примечание. Вы также можете использовать эти флаги для преобразования обычного ключа SSH в ключ без пароля.
Вы также можете изменить встроенный адрес электронной почты в ваш открытый ключ, используя флаг -c
:
Перезагрузите агент SSH с новым обновленным ключом:
ssh-add ~/Управление ключами SSH
re>
Замените соответствующий открытый ключ SSH из своего профиля Github.
Удаление ключей SSH из Github
Откройте новый сеанс терминала, затем запустите демон агента SSH:
Выполните следующую команду, чтобы удалить закрытый ключ SSH на вашем компьютере:
ssh-add -d ~/.ssh/id-ed25519
Вернитесь в категорию «Ключи SSH и GPG» вашего аккаунта Github.
Прокрутите список ключей SSH на этой странице, затем нажмите «Удалить» на том, который хотите удалить.
Нажмите «Я понимаю, удалите этот SSH-ключ».
Убедитесь, что ваш старый ключ SSH больше не работает, запустив сеанс SSH с одним из серверов Github:
Привязка ключа SSH для защиты вашей учетной записи Github — это лишь первый шаг к пониманию того, как работают криптография и шифрование с открытым ключом. Узнайте больше о шифровании хранящихся данных, создав зашифрованное облачное резервное копирование с использованием Rclone .
А пока вы также можете узнать больше об автоматическом управлении репозиторием от использование хуков Git .
Изображение предоставлено: Роман Синкевич через Unsplash . Все изменения и скриншоты Рамсеса Реда.
Изменение существующих ключей SSH
Удаление ключей SSH из Github