2016-04-01 14 views
0

私の人生にとって私のSSH設定が間違った鍵を転送している理由を理解できません。私は2つの鍵を持っています。home_rsawork_rsaと呼んでいます。私は次のことを行っている。ここでSSH IdentitiesOnly = yesすべての鍵を転送する

eval `ssh-agent` 
ssh-add -K ~/.ssh/home_rsa 
ssh-add -K ~/.ssh/work_rsa 

は私~/.ssh/configファイルです:私は次のことを実行すると

Host home 
    ForwardAgent yes 
    HostName home.com 
    IdentityFile ~/.ssh/home_rsa 
    IdentitiesOnly yes 
    User home 

Host work 
    ForwardAgent yes 
    HostName work.com 
    IdentitiesOnly yes 
    IdentityFile ~/.ssh/work_rsa 
    User work 

Host bitbucket 
    IdentityFile ~/.ssh/home_rsa 

Host bitbucket-work 
    IdentityFile ~/.ssh/work_rsa 

Host bitbucket* 
    HostName bitbucket.com 
    User git 

...

ssh work 
ssh [email protected] 

を...のBitbucketは、私は私のhomeユーザーを使用していたことを報告します私は明らかに私のworkサーバにログインしており、私のwork鍵を転送しているはずです。 SSH IDを逆順に追加して上記のコードを実行すると、Bitbucketは自分のworkユーザを使用していると報告しています。私のworkサーバからssh-add -lを実行すると、両方のSSH鍵が転送されているのがわかりますが、IdentitiesOnly yesというジョブではありませんか?

ここで起こっていることについては本当に混乱しています。

+0

号 '。 – larsks

+0

ああそれでは、サーバーごとにエージェントで利用できるキーを制御する方法はありますか? –

+0

実際はそうではありません。つまり、あなたは複数のローカルエージェントと何かをハックアップすることができますが、おそらくそれほど美しくはありません。 – larsks

答えて

1

ここで起こっていることについては本当に混乱しています。

ForwardAgentオプションは、内部のすべてのキーで、あなたのエージェントへの接続を転送し、リモートホストにローカルの~/.ssh/configを転送しません。 workホストで行う作業は、そのホストの設定によって制御されます。

これで何をしようとしていますか?

+0

Bitbucketは、Bitbucketアカウント間で同じSSHキーを使用することを禁止します。私は仕事用のアカウントと個人用のアカウントを持っています。私がプッシュ/フェッチ/マージ/ etcをしようとすると、私はリモートサーバーが正しいSSHキーを使用するようにします。 –

+0

あなたは私の答えを読んだことがありますか? – Jakuje

+0

はい、私はあなたの答えを理解しています。しかし、あなたは私がそれで何をしようとしているのか尋ねました。私はプッシュ/フェッチ/マージ/等をしようとしています。私のリモートサーバー上で。 –

0

まず、自分のWebサイト(work_rsaを持つ作業ユーザ、user_rsaを持つユーザ)で、ssh鍵を対応するbitbucketアカウントで更新する必要があります。多分これが助けになるかもしれない。認証に使用されるものをキー制御、しかし、あなたのエージェントで利用可能なキーのリストには影響しませんIdentitiesOnly`

Host    bitbucket-work 
HostName   bitbucket.org 
IdentitiesOnly  yes 
IdentityFile  ~/.ssh/work_rsa 
User    work 

ssh bitbucket-work 

関連する問題