Несколько ключей SSH для разных учетных записей Git


🗒️ Содержание

  1. Перед настройкой SSH-ключей
  2. Подключение к GitLab с помощью SSH
  3. Подключение к GitHub с помощью SSH
  4. Лучшая организация ключей

1. Перед установкой ключей SSH

  • Проверка наличия существующего файла ключей SSH
$ ls ~/.ssh
id_rsa  id_rsa.pub  known_hosts
Вход в полноэкранный режим Выход из полноэкранного режима
  • Подтверждение наличия активных открытых SSH-ключей (*.pub) в ssh-agent
$ ssh-add -L
Войти в полноэкранный режим Выйти из полноэкранного режима
  • Удалить все старые ключи
$ rm -r ~/.ssh
Войти в полноэкранный режим Выйти из полноэкранного режима

2. Подключение к GitLab с помощью SSH

  • Шаг 1: Сгенерируйте пару ключей SSH
$ ssh-keygen -t ed25519 -C "<your_email_01>@gmail.com"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/<user>/.ssh/id_ed25519): /home/<user>/.ssh/id_ed25519_gitlab
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Войдите в полноэкранный режим Выйти из полноэкранного режима
  • Шаг 2: Добавьте SSH-ключ в свою учетную запись GitLab
$ cat ~/.ssh/id_ed25519_gitlab.pub
# or
$ xclip -sel clip < ~/.ssh/id_ed25519_gitlab.pub
Войти в полноэкранный режим Выйти из полноэкранного режима

Скопируйте содержимое файла с открытым ключом вручную или с помощью скрипта. Затем перейдите в GitLab > Preferences > SSH Keys.

  • Шаг 3: Убедитесь, что вы можете подключиться
$ ssh -T git@gitlab.com
...
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Welcome to GitLab, <user_name>!
Войдите в полноэкранный режим Выйдите из полноэкранного режима

3. Подключение к GitHub с помощью SSH

  • Шаг 1: Сгенерируйте пару ключей SSH
$ ssh-keygen -t ed25519 -C "<your_email_02>@gmail.com"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/<user>/.ssh/id_ed25519): /home/<user>/.ssh/id_ed25519_github
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Войдите в полноэкранный режим Выйти из полноэкранного режима
  • Шаг 2: Добавьте SSH-ключ в свою учетную запись GitLab
$ cat ~/.ssh/id_ed25519_github.pub
# or
$ xclip -sel clip < ~/.ssh/id_ed25519_github.pub
Войти в полноэкранный режим Выйти из полноэкранного режима

Скопируйте содержимое файла с открытым ключом вручную или с помощью скрипта. Затем перейдите в GitHub > Настройки > SSH и GPG ключи.

  • Шаг 3: Убедитесь, что вы можете подключиться
$ ssh -T git@github.com
...
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Hi <user_name>! You've successfully authenticated, but GitHub does not provide shell access.
Войдите в полноэкранный режим Выйдите из полноэкранного режима

4. Лучшая организация ключей

Для получения дополнительной информации об этих настройках смотрите man ssh_config

$ cd ~/.ssh/
$ touch config
$ vi config
# GitLab
Host gitlab.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_ed25519_gitlab

# GitHub
Host github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_ed25519_github
Вход в полноэкранный режим Выход из полноэкранного режима

Оцените статью
devanswers.ru
Добавить комментарий