Как защитить доступ к Github с помощью SSH-ключа

Admin

Фотография талисмана Github перед веб-страницей Github.

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

Содержание

  • Что такое SSH-ключи?
  • Генерация ключей SSH для Github
  • Добавление ключей SSH в Github
  • Управление ключами SSH
  • Изменение существующих ключей SSH
  • Удаление ключей SSH из Github

Примечание: новичок в Git? Учитесь у наше руководство по началу работы прямо сейчас.

Что такое SSH-ключи?

По сути, ключи SSH — это открытые ключи, которые вы храните на удаленном сервере. Они действуют как прокси-сервер аутентификации, который позволяет вам подключаться и взаимодействовать с компьютерами без указания имени пользователя и пароля.

Терминал, показывающий пример открытого ключа SSH.

Это работает так: всякий раз, когда вы подключаетесь к компьютеру через SSH, ваш локальный компьютер отправляет сообщение, подписанное вашим личным ключом SSH. Затем удаленный компьютер использует ваш открытый ключ SSH, чтобы проверить подлинность сообщения и войти в систему.

Github использует тот же подход для проверки вашей личности на своих серверах. Веб-сайт использует ваш открытый ключ всякий раз, когда вы загружаете и изменяете свой репозиторий. Это гарантирует, что вы не раскроете свои учетные данные Github при отправке коммитов.

Хорошо знать: Узнайте больше о криптографии с открытым ключом и о том, как она может защитить вашу личность в Интернете, установка GNU Клеопатры в Linux.

Генерация ключей SSH для Github

Для начала откройте новый сеанс терминала с помощью средства запуска приложений вашего дистрибутива.

Убедитесь, что на вашем компьютере установлен OpenSSH и демон агента SSH запущен:

sudoaptinstallssheval`ssh-agent -s`

Выполните следующую команду, чтобы запустить Генерация ключей SSH волшебник:

ssh-keygen-t ed25519 -C"[email protected]"

Затем мастер спросит вас, хотите ли вы использовать собственное имя файла ключей SSH для своего ключа. Нажимать Входить принять имя и местоположение по умолчанию.

Терминал, показывающий запрос местоположения файла для нового ключа SSH.

Введите пароль для нового ключа SSH. Это будет использоваться в качестве парольной фразы вашего локального компьютера при каждом подключении к вашей учетной записи Github.

Терминал, показывающий запрос пароля для нового ключа SSH.

Примечание: Вы также можете оставить поле ввода пароля пустым, если хотите создать SSH-ключ без пароля.

Добавьте недавно сгенерированный ключ SSH к работающему в данный момент агенту SSH:

ssh-add ~/.ssh/id_ed25519

Хорошо знать: если вы новичок в Github, узнайте некоторые из лучших приложений, которые вам следует добавить в свой репозиторий Github.

Добавление ключей SSH в Github

Теперь, когда ваш новый SSH-ключ настроен и работает, вы можете связать свой локальный компьютер со своей учетной записью Github. Для начала выполните следующую команду, чтобы распечатать открытый ключ SSH:

cat ~/.ssh/id_ed25519.pub

Выделите свой открытый ключ SSH, нажмите правую кнопку мыши и выберите «Копировать».

Терминал, показывающий опцию «Копировать» в строке контекстного меню.

Откройте новый сеанс браузера, затем перейдите на домашнюю страницу Github.

Нажмите значок своего профиля в правом верхнем углу страницы.

Скриншот домашней страницы Github по умолчанию.

Нажмите «Настройки» в раскрывающемся списке.

Снимок экрана, на котором выделен параметр «Настройки» в меню профиля Github.

Выберите «Ключи SSH и GPG» на левой боковой панели страницы настроек.

Снимок экрана, на котором показаны параметры ключей SSH и GPG в меню настроек Github.

Нажмите кнопку «Новый ключ SSH» рядом с заголовком «Ключи SSH».

Снимок экрана, на котором выделена кнопка «Новый ключ SSH» на странице ключей SSH и GPG.

Выберите текстовое поле «Название», затем укажите имя для вашего ключа.

Щелкните текстовое поле «Ключ», затем нажмите Ctrl + В чтобы вставить свой SSH-ключ.

Нажмите «Добавить ключ SSH», чтобы сохранить новые настройки.

Безопасный доступ к Github Ssh Key 09 Кнопка добавления Ssh ключа

Откройте новый сеанс терминала и выполните следующую команду:

ssh-Tgit@github.com

Введите «да», затем нажмите Входить.

Терминал, отображающий запрос на доверие к отпечатку SSH.

Это запустит новый сеанс SSH с одним из принимающих серверов Github. Если ваш ключ работает правильно, будет напечатано короткое сообщение, подтверждающее ваше SSH-соединение.

Терминал, выделяющий короткое подтверждающее сообщение от Github.

Управление ключами SSH

Хотя большинству пользователей достаточно одного ключа SSH, бывают случаи, когда вам необходимо синхронизировать репозиторий Git, размещенный на нескольких компьютерах. Для этого вам необходимо импортировать ключи SSH для конкретного компьютера.

Откройте новый сеанс терминала на компьютере, который вы хотите связать с Github.

Убедитесь, что демон OpenSSH установлен и запущен в системе:

sudoaptinstallssheval`ssh-agent -s`

Выполните следующую команду, чтобы создать отдельный ключ SSH для вашего нового компьютера:

ssh-keygen-t ed25519 -f ~/.ssh/id-ed25519-pc2 -C"[email protected]"

Введите безопасную фразу-пароль для нового ключа SSH, затем нажмите Входить.

Добавьте новый альтернативный ключ к вашему SSH-агенту:

ssh-add ~/.ssh/id-ed25519-pc2

Распечатайте содержимое вашего открытого ключа SSH, а затем скопируйте его в буфер обмена вашей системы:

cat ~/.ssh/id-ed-25519-pc2

Вернитесь на страницу своей учетной записи Github «Ключи SSH и GPG».

Нажмите кнопку «Новый ключ SSH» еще раз.

Укажите уникальную метку для нового ключа, а затем вставьте содержимое буфера обмена в текстовое поле «Ключ».

Снимок экрана, показывающий новый альтернативный ключ в Github.

Нажмите «Добавить SSH-ключ», чтобы применить новые настройки.

Проверьте, использует ли ваш новый компьютер ваш безопасный ключ для подключения к Github, войдя в систему через SSH:

ssh-Tgit@github.com

Изменение существующих ключей SSH

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

Чтобы изменить существующий ключ, перейдите в каталог «.ssh» вашего компьютера:

cd ~/.ssh

Бегать ssh-keygen с -p, -o и -f флаги вместе с вашим ключом SSH. Это позволит вам изменить пароль на существующем закрытом ключе:

ssh-keygen-p-o-f ./id-ed25519

Примечание: Вы также можете использовать эти флаги для преобразования обычного ключа SSH в ключ без пароля.

Вы также можете изменить встроенный адрес электронной почты внутри вашего открытого ключа, используя команду -c флаг:

ssh-keygen-c-C"[email protected]"-f ./id-ed25519

Перезагрузите агент SSH с новым обновленным ключом:

ssh-add ~/.ssh/id-ed25519

Замените соответствующий открытый ключ SSH из своего профиля Github.

Снимок экрана, показывающий недавно измененный ключ SSH в Github.

Удаление ключей SSH из Github

Откройте новый сеанс терминала, затем запустите демон агента SSH:

eval`ssh-agent -s`

Выполните следующую команду, чтобы удалить закрытый ключ SSH на вашем компьютере:

ssh-add-d ~/.ssh/id-ed25519

Вернитесь в категорию «Ключи SSH и GPG» своей учетной записи Github.

Прокрутите список ключей SSH на этой странице, затем нажмите «Удалить» на том, который вы хотите удалить.

Снимок экрана, на котором выделена кнопка «Удалить» для недавно измененного ключа SSH.

Нажмите «Я понимаю, удалите этот SSH-ключ».

Снимок экрана, на котором показан окончательный запрос подтверждения удаления ключа SSH.

Убедитесь, что ваш старый ключ SSH больше не работает, запустив сеанс SSH с одним из серверов Github:

ssh-Tssh@github.com

Привязка ключа SSH для защиты вашей учетной записи Github — это лишь первый шаг к пониманию того, как работают криптография и шифрование с открытым ключом. Узнайте больше о шифровании хранящихся данных, создав зашифрованное облачное резервное копирование с использованием Rclone.

Между тем, вы также можете узнать больше об автоматическом управлении репозиторием, использование хуков Git.

Изображение предоставлено: Роман Синкевич через Unsplash. Все изменения и скриншоты Рамсеса Реда.

Подписывайтесь на нашу новостную рассылку!

Наши последние руководства будут доставлены прямо на ваш почтовый ящик.

Ремиксы Ubuntu: 4 лучших альтернативы Ubuntu
Ремиксы Ubuntu: 4 лучших альтернативы Ubuntu

Наша недавняя статья под названием Ubuntu по назначению привлекла много дискуссий о базовом прогр...

Как установить и запустить Silverlight в Linux
Как установить и запустить Silverlight в Linux

Нравится это вам или нет, мы все знаем Flash, но аналог Microsoft, Silverlight, менее известен. С...

Ваше руководство по освоению Linux
Ваше руководство по освоению Linux

Каждый пользователь Linux в какой-то момент был новичком, и если у вас нет опыта администрировани...