Переключение между несколькими ключами ssh в Git в Windows
Мне нужно иметь несколько ключей в моем клиенте для доступа к двум различным учетным записям на хостинге репозитория. См. https://redefy.repositoryhosting.com/support → Как мне управлять несколькими учетными записями с несколькими ключевыми парами на моем клиенте?
Я не понимаю, как меняться между разными ключами ssh в Git в Windows, может кто-нибудь мне помочь?
Ответы
Ответ 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.
НТН
Daniel
Ответ 4
Я отвечу немного косвенно. Я ранее использовал git bash, и я обнаружил, что когда я использую git через оболочку git bash, он ведет себя так же, как оболочка mac или linux bash. Значение, при использовании git bash, я могу ответить на ваш вопрос следующим образом:
'Если вы используете git bash, вы можете управлять несколькими учетными записями так же, как если бы вы были на linux или mac, используя ssh-agent/ssh-add и friends'