Привязка ключа SSH к Github — один из ключевых шагов при обеспечении безопасности вашей учетной записи. Он позволяет вам использовать возможности криптографии с открытым ключом для защиты ваших репозиториев Git. В этой статье мы покажем вам, что такое ключи SSH и как их можно использовать для защиты своей учетной записи Github.
Содержание
- Что такое SSH-ключи?
- Генерация ключей SSH для Github
- Добавление ключей SSH в Github
- Управление ключами SSH
- Изменение существующих ключей SSH
- Удаление ключей SSH из Github
Примечание: новичок в Git? Учитесь у наше руководство по началу работы прямо сейчас.
Что такое 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. Это будет использоваться в качестве парольной фразы вашего локального компьютера при каждом подключении к вашей учетной записи Github.
Примечание: Вы также можете оставить поле ввода пароля пустым, если хотите создать 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 + В чтобы вставить свой SSH-ключ.
Нажмите «Добавить ключ SSH», чтобы сохранить новые настройки.
Откройте новый сеанс терминала и выполните следующую команду:
ssh-Tgit@github.com
Введите «да», затем нажмите Входить.
Это запустит новый сеанс SSH с одним из принимающих серверов Github. Если ваш ключ работает правильно, будет напечатано короткое сообщение, подтверждающее ваше SSH-соединение.
Управление ключами 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» еще раз.
Укажите уникальную метку для нового ключа, а затем вставьте содержимое буфера обмена в текстовое поле «Ключ».
Нажмите «Добавить 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:
eval`ssh-agent -s`
Выполните следующую команду, чтобы удалить закрытый ключ SSH на вашем компьютере:
ssh-add-d ~/.ssh/id-ed25519
Вернитесь в категорию «Ключи SSH и GPG» своей учетной записи Github.
Прокрутите список ключей SSH на этой странице, затем нажмите «Удалить» на том, который вы хотите удалить.
Нажмите «Я понимаю, удалите этот SSH-ключ».
Убедитесь, что ваш старый ключ SSH больше не работает, запустив сеанс SSH с одним из серверов Github:
ssh-Tssh@github.com
Привязка ключа SSH для защиты вашей учетной записи Github — это лишь первый шаг к пониманию того, как работают криптография и шифрование с открытым ключом. Узнайте больше о шифровании хранящихся данных, создав зашифрованное облачное резервное копирование с использованием Rclone.
Между тем, вы также можете узнать больше об автоматическом управлении репозиторием, использование хуков Git.
Изображение предоставлено: Роман Синкевич через Unsplash. Все изменения и скриншоты Рамсеса Реда.
Подписывайтесь на нашу новостную рассылку!
Наши последние руководства будут доставлены прямо на ваш почтовый ящик.