2012-03-12 12 views
30

リポジトリホスティングで2つの異なるアカウントにアクセスするには、クライアントに複数のキーが必要です。 https://redefy.repositoryhosting.com/support - >クライアントで複数の鍵ペアを持つ複数のアカウントを管理するにはどうすればよいですか?を参照してください。Windows上のGitで複数のsshキーを切り替える

私はGit on Windowsでさまざまなsshキーを変更する方法を理解できませんが、誰でも助けてくれますか?

+0

をプッシュすることができ、あなたのSSH接続のためのOpenSSHまたはPlinkをしていますか? –

+0

sshを設定する方法の詳細は、[1つのクライアントで複数のssh秘密鍵を使用する最良の方法](http://stackoverflow.com/questions/2419566/best-way-to-use-multiple-ssh-private- – peron

答えて

37

git bashとopensshを使用すると仮定します。

記事に書かれているように、すべてのアカウントを一覧表示するsshクライアント用の設定ファイルを作成できます。あなたは は、それは何と言うことは、あなたがaccount-oneaccount-twoという名前の2つの、一種の、「ホスト別名」を定義である

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 
~/.ssh/config

で独自のsshクライアントの設定ファイルに以下の設定を書くことができます。それらを使用する場合、接続するとき、sshクライアントはサーバアドレス、ユーザ名、およびsshキーファイルに対応する HostName, User、および IdentityFileを使用します。これにより、それらを使用して同じサーバー上のアカウントとキーにアクセスすることができます。gitので

、あなたは彼らに

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

を使用して2つのリモコンを定義することができ、あなたはそれらのリモコンに

$ git push one master 
$ git push two master 
+0

こんにちは、この設定ファイルを使ってどのようにクローンしますか? "$ git clone one repositoyr.git master"は "引数が多すぎます"とエラーを返します – Tariq

+0

ホスト名とリポジトリパスの間にコロンを追加することを忘れないでください。あなたの場合、それは 'one:repositoyr.git' – fajran

+0

としてここに書かれています。http://linux.die.net/man/5/ssh_config IdentityFile ユーザのRSAまたはDSA認証アイデンティティを読み込むファイルを指定します。 ファイル名には、ユーザーのホームディレクトリまたは '%d'(ローカルユーザーのホームディレクトリ)、 '%u'(ローカルユーザー名)、 '%l' (ローカルホスト名)、 '%h'(リモートホスト名)または '%r'(リモートユーザー名)です。 IdentityFile%u/.ssh/id_rsa –

0

少しこれを少し間違いなく回答します。以前はgit bashを使っていましたが、git bashシェルを使ってgitを使用しているときには、MacまたはLinuxのbashシェルのように動作することがわかりました。意味は、git bashを使うとき、あなたの質問に答えることができます:

'git bashを使うと、LinuxやMacの場合と同じように複数のアカウントを管理できます。ssh-agent/ssh- add and friends '

2

Windowsでは、PuTTY、PSCP、PSFTP、およびPlinkのSSH認証エージェントにPageantを試してください。このツールは、あなたのsshキーとそのパスフレーズを管理できます。 Gitと一緒に使用するには、Puttyをインストールし、GIT_SSH変数を設定するplink.exeにリンクする必要があります。

  1. パテや友人(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
  2. 設定GIT_SSH

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

  3. スタートをインストールします。ページェント、あなたに追加のキー
  4. 実行Gitの

HTH Daniel

7

gitが接続に使用しているSSHプログラムによってどのサーバが処理されるかは、どのキーが使用されていますか?デフォルト設定では、これはコマンドラインSSHクライアント(openSSH?)でなければなりません。 ~/.ssh/*.example.com-id_rsaは、各サーバの秘密鍵ファイルです

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

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

:あなたは~/.ssh/configファイル内の特定のホストの特定のキーファイルを設定することができOpenSSHの使用

こちらがお役に立てば幸いです。

+0

Windowsで実行している場合でも、パスにスラッシュが付いていなければなりませんか? –

+0

これらのパスはすべてUNIX系ですので、Windowsでcygwinを使用している場合は動作しますが、シェルとして他のものを使用している場合は、それらを調整する必要があります。 – mamapitufo

+0

ありがとう!私はちょうどあなたもsthを使用することができることを見た。 Windowsでは "/C/Users/Benny/.ssh/id_rsa"のようになります。 –

関連する問題