Подтвердить что ты не робот

Переключение между несколькими ключами ssh в Git в Windows

Мне нужно иметь несколько ключей в моем клиенте для доступа к двум различным учетным записям на хостинге репозитория. См. https://redefy.repositoryhosting.com/support → Как мне управлять несколькими учетными записями с несколькими ключевыми парами на моем клиенте?

Я не понимаю, как меняться между разными ключами ssh в Git в Windows, может кто-нибудь мне помочь?

4b9b3361

Ответ 1

Я предполагаю, что вы используете git bash и openssh.

Как и то, что написано в этой статье, вы можете создать файл конфигурации для ssh-клиента, в котором перечислены все ваши учетные записи. Вы можете написать следующую конфигурацию в своем собственном файле конфигурации клиента ssh в ~/.ssh/config

Host account-one
HostName server.example.com
User user-one
IdentityFile ~/.ssh/key-one

Host account-two
HostName server.example.com
User user-two
IdentityFile ~/.ssh/key-two

В нем говорится, что вы определяете два, несколько, "псевдонимы хостов" с именем account-one и account-two. Если вы используете их, при подключении клиент ssh будет использовать соответствующие HostName, User и IdentityFile для адреса сервера, имени пользователя и файла ssh. С помощью этого вы можете использовать их для доступа к своим учетным записям и ключам на одном и том же сервере.

В git вы можете определить два пульта, используя их

$ git remote add one account-one:repository.git
$ git remote add two account-two:repository.git

то вы можете нажать на эти пульты

$ git push one master
$ git push two master

Ответ 2

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

Используя openSSH, вы можете настроить определенные ключевые файлы для определенных хостов в файле ~/.ssh/config:

Host foo.example.com
  IdentityFile ~/.ssh/foo.example.com-id_rsa

Host bar.example.com
  IdentityFile ~/.ssh/bar.example.com-id_rsa

Где ~/.ssh/*.example.com-id_rsa - файлы секретных ключей для каждого сервера.

Надеюсь, это поможет.

Ответ 3

В Windows вы должны попытаться выполнить Pageant агент аутентификации SSH для PuTTY, PSCP, PSFTP и Plink. Этот инструмент может управлять вашими ключами ssh и его фразами. Чтобы использовать его вместе с Git, вам нужно установить Putty и ссылку на plink.exe, задав переменную GIT_SSH.

  • Установите Putty и друзей (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
  • Установите GIT_SSH

    set GIT_SSH=<path-to-plink.exe>

  • Запустить проспект и добавить ключи
  • Запустить Git

НТН Daniel

Ответ 4

Я отвечу немного косвенно. Я ранее использовал git bash, и я обнаружил, что когда я использую git через оболочку git bash, он ведет себя так же, как оболочка mac или linux bash. Значение, при использовании git bash, я могу ответить на ваш вопрос следующим образом:

'Если вы используете git bash, вы можете управлять несколькими учетными записями так же, как если бы вы были на linux или mac, используя ssh-agent/ssh-add и friends'