Как подключить два репозитория с разными ключами на один хост
Если нужно, чтобы каждый ключ работал только со своим репозиторием, используй 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 как показано выше.