Постоянное добавление SSH-ключа в окна msysgit - PullRequest
7 голосов
/ 29 августа 2011

Я нахожусь в ситуации, когда мне нужен мой msysgit для общения с github с разными ключами.Однако git bash настаивает на использовании ключевого файла с именем id_rsa ONLY .Если я делаю ssh -vT git@github.com, я вижу, что предлагается только id_rsa.

Поэтому, когда мне нужно использовать любой другой ключ, я должен делать все это,

ssh-agent bash
ssh-add ~/.ssh/mygithubkey
git clone git@github.com:myaccount/myrepo.git

илипереименовывайте mygithubkey в id_rsa всякий раз, когда мне это нужно, резервное копирование оригинального id_rsa в другой файл anotherkey

и, конечно, это боль, особенно потому, что история команд также отличается в обычном git bash,

Другие ответы в stackoverflow помогли только прийти к моему описанному выше обходному пути.Если я делаю

ssh-add ~/.ssh/mygithubkey

непосредственно в моем git bash, он говорит, что не может подключиться к ssh-agent.Если я сделаю

ssh-agent ssh-add ~/.ssh/mygithubkey
git pull
ssh -vT git@github.com

прямо в моем git bash, он скажет, что разрешение отклонено, похоже, ssh-add действительно не добавил ключ навсегда!И добавленный ключ не предлагается при просмотре отладочных сообщений в подробном режиме.

Есть ли какой-либо способ постоянно добавлять список ключей ssh, предлагаемых при sshing в github?Сегодня я в основном пользователь Windows, поэтому, пожалуйста, будьте многословны в ответе.

1 Ответ

6 голосов
/ 02 октября 2013

Я бы предложил использовать ~/.ssh/config файл, похожий на этот ответ . Что-то вроде:

Host github1
    User git
    Hostname github.com
    IdentityFile ~/.ssh/mygithubkey

Host github2
    User git
    Hostname github.com
    IdentityFile ~/.ssh/myothergithubkey

Таким образом, вы можете легко переключать клавиши, набрав ssh github1 или ssh github2 для подключения.

...