2013-02-04 5 views
7

私は、.ssh/configと.git/configの設定がどのように相互作用するかを理解しようとしています。複数のgithubアカウント:.ssh/configのHostの値は何ですか?

はここの状況だ:~/.ssh/id_rsa.GH0.pub~/.ssh/id_rsa.GH1.pubでSSHキーを使用して、すなわち、私は2つの別々のgithubのアカウントを持っている、のはGH0とGH1それらを呼びましょう、と私は両方の「passwordlessly」と対話したいと思います。現時点では、これはGH0では有効ですが、GH1では機能しません。 (例えば、GH1へpushコマンドはERROR: Repository not found.\nfatal: The remote end hung unexpectedly.で死ぬ;。ssh -T [email protected]作品を、それはGH0を接続するだけであるため)

これは、これらのgithubのアカウントごとに、私はの〜/ .ssh/configに対応するセクションを持っている必要があることを意味しますどのsshキーファイルを使用するかを指定します。 (例:GH0のセクションにはIdentityFile ~/.ssh/id_rsa.GH0などがあります)

問題は次のとおりです。これらのセクションには他に何を置く必要がありますか?具体的には、

Hostキーワードの引数には、~/.ssh/configの引数は何が必要ですか?

私がこれまでに見つけた情報は私には意味がありません。いくつかの例では、

Host github.com 
    Hostname github.com 
    User git 
    IdentityFile ~/.ssh/id_rsa 

Host ac2.github.com 
    Hostname github.com 
    User git 
    IdentityFile ~/.ssh/id_rsa_ac2 

のようなものがあります。「ac2」はどこにありますか。二番目の接頭辞はHostから来ますか?

私のgithubアカウントでは、どのようなものが見つかりますか?

情報の一部を、私は大丈夫だろう、次のことを示唆し、Hostキーワードの引数は、実際には任意であることを推測するリード1を発見しました、あまりにも

Host omgwtfbbq 
    Hostname github.com 
    User git 
    IdentityFile ~/.ssh/GH0 

Host 4.8.15.16.23.42 
    Hostname github.com 
    User git 
    IdentityFile ~/.ssh/GH1 

しかし、もしそうなら、これは提起

さらに別の質問: git(またはgithub)は、これらの2つのセクションのどれを特定のコマンドに使用するのですか?

繰り返しますが、私はどのようにこれはいくつかの[remote ...]セクションの下に、プロジェクトの.git/configファイルで指定されることを を推測するが、

私は1つの事のために、私は.git/configにキーと値のペアの解釈のためのドキュメントを見つけることができていない、ので、推測に頼らなければなりません。私が見つけた最も近いのはgit-configのマニュアルページですが、セクションのurl = ...フィールドについては、このページのドキュメントが見つかりません。 git-remoteのmanページも、このフィールドに関するドキュメントはありません。

+0

guessingについて:git configマニュアルで "remote。 .url"を探してください。 – patthoyts

+0

'git remote add omgwtfbbq git @ omgwtfbbq:user/repo.git'、' git pull omgwtfbbq master'を実行し、それが動作するかどうかを確認してください。 –

+0

@HieryNomus:ありがとう!私はそれを選択することができるようにあなたのコメントを投稿してください – kjo

答えて

5

は、次の操作を行います。これは、あなたがセットアップをしたIdentityFileに使用されますので、あなたはgitのホストとして、あなたの~/.ssh/configで定義したHostエイリアスを使用し、かつます

$ git remote add omgwtfbbq [email protected]:user/repo.git 
$ git pull omgwtfbbq master 

1

はい、.ssh/configファイルのHost行はエイリアスです。 github.comの代わりに使用すると、SSHを適切に使用するものはファイルを読み込み、実際のホスト名でスワップし、与えられたキーファイルとユーザー名も使用します。

関連する問題