Сведения о добавлении ключей SSH в учетную запись
Доступ к данным и запись в репозиториях можно получить в GitHub с помощью SSH (протокол Secure Shell). При подключении через SSH проверка подлинности выполняется с помощью файла закрытого ключа на локальном компьютере. Дополнительные сведения см. в разделе "Сведения о протоколе SSH".
Вы также можете использовать SSH для подписывания фиксаций и тегов. Дополнительные сведения о подписи фиксации см. в разделе "Сведения о проверке подписи фиксации".
После создания пары ключей SSH необходимо добавить открытый ключ в GitHub.com для включения доступа SSH для учетной записи.
Необходимые компоненты
Перед добавлением нового ключа SSH в учетную запись на GitHub.comвыполните следующие действия.
- Проверьте существующие ключи SSH. Дополнительные сведения см. в разделе Проверка наличия существующих ключей SSH.
- Создайте новый ключ SSH и добавьте его в агент SSH вашего компьютера. Дополнительные сведения см. в разделе Создание нового ключа SSH и его добавление в ssh-agent.
Добавление нового ключа SSH в вашу учетную запись
Вы можете добавить ключ SSH и использовать его для проверки подлинности или фиксации подписи или обоих. Если вы хотите использовать один и тот же ключ SSH для проверки подлинности и подписывания, необходимо отправить его дважды.
После добавления нового ключа проверки подлинности SSH в учетную запись на GitHub.comможно перенастроить любые локальные репозитории для использования SSH. Дополнительные сведения см. в разделе Управление удаленными репозиториями.
Примечание. GitHub улучшили безопасность за счет удаления старых небезопасных типов ключей 15 марта 2022 г.
По состоянию на эту дату ключи DSA (ssh-dss
) больше не поддерживаются. Невозможно добавить новые ключи DSA в личная учетная запись на GitHub.
Ключи RSA (ssh-rsa
) с valid_after
до 2 ноября 2021 г. могут продолжать использовать любой алгоритм подписи. Ключи RSA, созданные после этой даты, должны использовать алгоритм подписи SHA-2. Для использования сигнатур SHA-2 может потребоваться обновить некоторые старые клиенты.
-
Скопируйте открытый ключ SSH в буфер обмена.
Если файл открытого ключа SSH имеет другое имя или путь, отличный от примера кода, измените имя файла или путь в соответствии с текущей настройкой. При копировании ключа не добавляйте символы перевода строки и пробелы.
$ pbcopy < ~/.ssh/id_ed25519.pub # Copies the contents of the id_ed25519.pub file to your clipboard
Совет. Если
pbcopy
не работает, можно найти скрытую папку.ssh
, открыть файл в любом текстовом редакторе и скопировать ключ в буфер обмена.
$ clip < ~/.ssh/id_ed25519.pub
# Copies the contents of the id_ed25519.pub file to your clipboard
Примечания:
- С помощью подсистема Windows для Linux (WSL) можно использовать
clip.exe
. В противном случае, еслиclip
он не работает, можно найти скрытую.ssh
папку, открыть файл в избранном текстовом редакторе и скопировать его в буфер обмена. - В более новых версиях Windows, использующих Терминал Windows или в любом другом месте, где используется командная строка PowerShell, может
ParseError
появиться сообщение о том, чтоThe '<' operator is reserved for future use.
в этом случае следует использовать следующую альтернативнуюclip
команду:
$ cat ~/.ssh/id_ed25519.pub | clip
# Copies the contents of the id_ed25519.pub file to your clipboard
$ cat ~/.ssh/id_ed25519.pub
# Then select and copy the contents of the id_ed25519.pub file
# displayed in the terminal to your clipboard
Совет. Кроме того, можно найти скрытую папку .ssh
, открыть файл в любом текстовом редакторе и скопировать ключ в буфер обмена.
-
В правом верхнем углу любой страницы на GitHubщелкните фото профиля, а затем нажмите кнопку "Параметры".
-
В разделе "Access" боковой панели щелкните SSH и ключи GPG.
-
Щелкните Создать ключ SSH или Добавить ключ SSH.
-
В поле "Название" добавьте описательную метку для нового ключа. Например, если вы используете личный ноутбук, можно назвать этот ключ "Личный ноутбук".
-
Выберите тип ключа: ключ проверки подлинности или ключ подписывания. Дополнительные сведения о подписи фиксации см. в разделе "Сведения о проверке подписи фиксации".
-
В поле "Ключ" вставьте открытый ключ.
-
Нажмите кнопку Добавить ключ SSH.
-
При появлении запроса подтвердите доступ к GitHub Enterprise Cloud. Дополнительные сведения см. в разделе Режим sudo.
Дополнительные сведения о GitHub CLIсм. в разделе "Сведения о GitHub CLI".
Прежде чем использовать GitHub CLI для добавления ключа SSH в учетную запись, необходимо пройти проверку подлинности в GitHub CLI. Дополнительные сведения см. в разделе gh auth login
в документации по GitHub CLI.
Чтобы добавить ключ SSH в учетную запись GitHub, используйте подкоманду ssh-key add
, указав открытый ключ. Если вам будет предложено запросить дополнительные области, следуйте инструкциям в командной строке.
gh ssh-key add KEY-FILE --type {authentication|signing}
Чтобы указать заголовок для нового ключа, используйте флаг -t
или --title
.
gh ssh-key add KEY-FILE --title "personal laptop"
Если вы создали ключ SSH, следуя инструкциям в autoTITLE, вы можете добавить ключ в учетную запись с помощью этой команды.
gh ssh-key add ~/.ssh/id_ed25519.pub --type signing