Как подключить два репозитория с разными ключами на один хост

Если нужно, чтобы каждый ключ работал только со своим репозиторием, используй Deploy keys:

  • В каждом репозитории: Settings → Deploy keys → Add deploy key
  • Вставляешь свой публичный ключ и (при необходимости пуша) ставишь Allow write access.
  • Такой ключ будет действовать только для этого репо.

Чтобы Git всегда подавал верный ключ для нужного репо, зафиксируй это в ~/.ssh/config:

# Ключ для repo1 (deploy key этого репо)
Host github-repo1
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_repo1
  IdentitiesOnly yes
 
# Ключ для repo2 (deploy key этого репо)
Host github-repo2
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_repo2
  IdentitiesOnly yes

И пропиши URL-ы в каждом локальном репозитории: id_ed25519

# В каталоге repo1:
git remote set-url origin git@github-repo1:OWNER/repo1.git
 
# В каталоге repo2:
git remote set-url origin git@github-repo2:OWNER/repo2.git

Проверка, что подставляется нужный ключ:

ssh -T github-repo1   # должен аутентифицироваться и дать доступ к OWNER/repo1
ssh -T github-repo2   # к OWNER/repo2

Итого • Нужно просто “разные ключи для одной учётки” → добавь оба в SSH keys аккаунта (оба увидят оба репо). • Нужно жёстко разделить доступ “ключ ↔ конкретный репозиторий” → используй Deploy keys (по одному на репо) и задавай их через ~/.ssh/config как показано выше.