Linux add ssh key to agent

Generating a new SSH key and adding it to the ssh-agent

After you’ve checked for existing SSH keys, you can generate a new SSH key to use for authentication, then add it to the ssh-agent.

About SSH key passphrases

You can access and write data in repositories on your GitHub Enterprise Server instance using SSH (Secure Shell Protocol). When you connect via SSH, you authenticate using a private key file on your local machine. For more information, see «About SSH.»

When you generate an SSH key, you can add a passphrase to further secure the key. Whenever you use the key, you must enter the passphrase. If your key has a passphrase and you don’t want to enter the passphrase every time you use the key, you can add your key to the SSH agent. The SSH agent manages your SSH keys and remembers your passphrase.

If you don’t already have an SSH key, you must generate a new SSH key to use for authentication. If you’re unsure whether you already have an SSH key, you can check for existing keys. For more information, see «Checking for existing SSH keys.»

If you want to use a hardware security key to authenticate to GitHub Enterprise Server, you must generate a new SSH key for your hardware security key. You must connect your hardware security key to your computer when you authenticate with the key pair. For more information, see the OpenSSH 8.2 release notes.

Generating a new SSH key

You can generate a new SSH key on your local machine. After you generate the key, you can add the public key to your account on your GitHub Enterprise Server instance to enable authentication for Git operations over SSH.

If you are a site administrator for your GitHub Enterprise Server instance, you can use the same key to grant yourself administrative SSH access to the instance. For more information, see «Accessing the administrative shell (SSH).»

  1. Open Terminal Terminal Git Bash .
  2. Paste the text below, substituting in your GitHub Enterprise Server email address.
ssh-keygen -t ed25519 -C "your_email@example.com"
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
> Generating public/private ALGORITHM key pair.

When you’re prompted to «Enter a file in which to save the key», you can press Enter to accept the default file location. Please note that if you created SSH keys previously, ssh-keygen may ask you to rewrite another key, in which case we recommend creating a custom-named SSH key. To do so, type the default file location and replace id_ssh_keyname with your custom key name.

> Enter a file in which to save the key (/Users/YOU/.ssh/id_ALGORITHM): [Press enter]
> Enter a file in which to save the key (/c/Users/YOU/.ssh/id_ALGORITHM):[Press enter]
> Enter a file in which to save the key (/home/YOU/.ssh/ALGORITHM):[Press enter]
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]

Adding your SSH key to the ssh-agent

Before adding a new SSH key to the ssh-agent to manage your keys, you should have checked for existing SSH keys and generated a new SSH key. When adding your SSH key to the agent, use the default macOS ssh-add command, and not an application installed by macports, homebrew, or some other external source.

$ eval "$(ssh-agent -s)" > Agent pid 59566
$ open ~/.ssh/config > The file /Users/YOU/.ssh/config does not exist.
Host HOSTNAME AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_ed25519 
  • If you chose not to add a passphrase to your key, you should omit the UseKeychain line.
  • If you see a Bad configuration option: usekeychain error, add an additional line to the configuration’s’ Host *.HOSTNAME section.
Host HOSTNAME IgnoreUnknown UseKeychain 
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

Note: The —apple-use-keychain option stores the passphrase in your keychain for you when you add an SSH key to the ssh-agent. If you chose not to add a passphrase to your key, run the command without the —apple-use-keychain option. The —apple-use-keychain option is in Apple’s standard version of ssh-add . In MacOS versions prior to Monterey (12.0), the —apple-use-keychain and —apple-load-keychain flags used the syntax -K and -A , respectively. If you don’t have Apple’s standard version of ssh-add installed, you may receive an error. For more information, see «Error: ssh-add: illegal option — K.» If you continue to be prompted for your passphrase, you may need to add the command to your ~/.zshrc file (or your ~/.bashrc file for bash).

If you have GitHub Desktop installed, you can use it to clone repositories and not deal with SSH keys.

    Ensure the ssh-agent is running. You can use the «Auto-launching the ssh-agent» instructions in «Working with SSH key passphrases», or start it manually:

# start the ssh-agent in the background $ eval "$(ssh-agent -s)" > Agent pid 59566
$ eval "$(ssh-agent -s)" > Agent pid 59566

Generating a new SSH key for a hardware security key

If you are using macOS or Linux, you may need to update your SSH client or install a new SSH client prior to generating a new SSH key. For more information, see «Error: Unknown key type.»

  1. Insert your hardware security key into your computer.
  2. Open Terminal Terminal Git Bash .
  3. Paste the text below, substituting in the email address for your account on GitHub Enterprise Server.
ssh-keygen -t ed25519-sk -C "YOUR_EMAIL"

Note: If the command fails and you receive the error invalid format or feature not supported, you may be using a hardware security key that does not support the Ed25519 algorithm. Enter the following command instead.

ssh-keygen -t ecdsa-sk -C "your_email@example.com"
> Enter a file in which to save the key (/Users/YOU/.ssh/id_ed25519_sk): [Press enter]
> Enter a file in which to save the key (/c/Users/YOU/.ssh/id_ed25519_sk):[Press enter]
> Enter a file in which to save the key (/home/YOU/.ssh/id_ed25519_sk):[Press enter]
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]

Источник

Создание нового ключа SSH и его добавление в ssh-agent

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

Сведения о парольных фразах ключа SSH

Вы можете получать доступ к данным в репозиториях и записывать их в GitHub.com с помощью SSH (протокол Secure Shell). При подключении через SSH проверка подлинности выполняется с помощью файла закрытого ключа на локальном компьютере. Дополнительные сведения см. в разделе Сведения о протоколе SSH.

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

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

Чтобы использовать аппаратный ключ безопасности для проверки подлинности в GitHub, необходимо создать новый ключ SSH для аппаратного ключа безопасности. При проверке подлинности с помощью пары ключей необходимо подключить аппаратный ключ безопасности к компьютеру. Дополнительные сведения см. в заметках о выпуске OpenSSH 8.2.

Создание нового ключа SSH

Вы можете создать новый ключ SSH на локальном компьютере. После создания ключа вы можете добавить открытый ключ в учетную запись GitHub.com, чтобы включить проверку подлинности для операций Git по протоколу SSH.

Примечание. GitHub улучшили безопасность за счет удаления старых небезопасных типов ключей 15 марта 2022 г.

По состоянию на эту дату ключи DSA ( ssh-dss ) больше не поддерживаются. Вы не можете добавить новые ключи DSA в личную учетную запись в GitHub.com.

Ключи RSA ( ssh-rsa ) с valid_after до 2 ноября 2021 г. могут продолжать использовать любой алгоритм подписи. Ключи RSA, созданные после этой даты, должны использовать алгоритм подписи SHA-2. Для использования сигнатур SHA-2 может потребоваться обновить некоторые старые клиенты.

  1. Откройте Терминал Терминал GIT Bash .
  2. Вставьте приведенный ниже текст, указав свой адрес электронной почты GitHub.
ssh-keygen -t ed25519 -C "your_email@example.com"

Примечание. Если вы используете устаревшую систему, которая не поддерживает алгоритм Ed25519, используйте следующую команду:

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

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

> Generating public/private ALGORITHM key pair.

При появлении запроса «Ввести файл, в котором нужно сохранить ключ», можно нажать клавишу ВВОД , чтобы принять расположение файла по умолчанию. Обратите внимание, что если вы создали ключи SSH ранее, ssh-keygen может попросить вас переписать другой ключ. В этом случае рекомендуется создать ключ SSH с пользовательским именем. Для этого введите расположение файла по умолчанию и замените id_ssh_keyname именем пользовательского ключа.

> Enter a file in which to save the key (/Users/YOU/.ssh/id_ALGORITHM): [Press enter]
> Enter a file in which to save the key (/c/Users/YOU/.ssh/id_ALGORITHM):[Press enter]
> Enter a file in which to save the key (/home/YOU/.ssh/ALGORITHM):[Press enter]
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]

Добавление ключа SSH в ssh-agent

Перед добавлением нового ключа SSH в ssh-agent для управления ключами необходимо проверить наличие существующих ключей SSH и создать новый ключ SSH. При добавлении ключа SSH в агент используйте команду macOS ssh-add по умолчанию, а не приложение, установленное macports, homebrew или другим внешним источником.

$ eval "$(ssh-agent -s)" > Agent pid 59566
$ open ~/.ssh/config > The file /Users/YOU/.ssh/config does not exist.
Host github.com AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_ed25519 
  • Если вы решили не добавлять парольную фразу к ключу, следует опустить строку UseKeychain .
  • Если появится сообщение об ошибке Bad configuration option: usekeychain , добавьте дополнительную строку в раздел конфигурации Host *.github.com .
Host github.com IgnoreUnknown UseKeychain 
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

Примечание: Параметр —apple-use-keychain сохраняет парольную фразу в связка ключей при добавлении ключа SSH в SSH-agent. Если вы решили не добавлять парольную фразу в ключ, выполните команду без параметра —apple-use-keychain . Параметр —apple-use-keychain находится в стандартной версии ssh-add Apple . В версиях MacOS до Monterey (12.0) —apple-use-keychain флаги и —apple-load-keychain использовали синтаксис -K и -A соответственно. Если у вас не установлена стандартная версия ssh-add Apple, может появись сообщение об ошибке. Дополнительные сведения см. в разделе Error: ssh-add: illegal option — K. Если вам по-прежнему будет предложено ввести парольную фразу, может потребоваться добавить команду в ~/.zshrc файл (или ~/.bashrc файл для bash).

Если у вас установлено приложение GitHub Desktop, его можно использовать для клонирования репозиториев, не прибегая к ключам SSH.

    Убедитесь, что ssh-agent запущен. Можно воспользоваться инструкциями по автоматическому запуску агента в разделе Работа с парольными фразами ключа SSH или запустить его вручную:

# start the ssh-agent in the background $ eval "$(ssh-agent -s)" > Agent pid 59566
$ eval "$(ssh-agent -s)" > Agent pid 59566

Создание нового ключа SSH для аппаратного ключа безопасности

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

  1. Вставьте аппаратный ключ безопасности в компьютер.
  2. Откройте Терминал Терминал GIT Bash .
  3. Вставьте приведенный ниже текст, указав адрес электронной почты своей учетной записи GitHub.
ssh-keygen -t ed25519-sk -C "YOUR_EMAIL"

Примечание. Если команда завершается ошибкой invalid format или feature not supported, , возможно, используется аппаратный ключ безопасности, который не поддерживает алгоритм Ed25519. Введите приведенную ниже команду.

ssh-keygen -t ecdsa-sk -C "your_email@example.com"
> Enter a file in which to save the key (/Users/YOU/.ssh/id_ed25519_sk): [Press enter]
> Enter a file in which to save the key (/c/Users/YOU/.ssh/id_ed25519_sk):[Press enter]
> Enter a file in which to save the key (/home/YOU/.ssh/id_ed25519_sk):[Press enter]
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]

Источник

Читайте также:  Find files used by process linux
Оцените статью
Adblock
detector