我不能为我的生活弄清楚为什么我的SSH配置转发了错误的密钥。我有两个键,我们称之为home_rsa
和work_rsa
。我做了以下事情:
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 git@bitbucket.org
... Bitbucket报告说我正在使用我的home
用户,虽然我已经清楚地登录到我的work
服务器并且应该转发我的work
密钥。如果我以相反的顺序添加我的SSH身份并运行上面相同的代码,Bitbucket报告我正在使用我的work
用户。从我的ssh-add -l
服务器运行work
,我发现两个SSH密钥都被转发,但不是IdentitiesOnly yes
的工作?
真的很困惑这里发生了什么。
答案 0 :(得分:1)
真的很困惑这里发生了什么。
ForwardAgent
选项将连接转发给您的代理,其中包含所有密钥,并且不会将您的本地~/.ssh/config
转发到远程主机。您在work
主机上执行的操作由该主机上的配置控制。
你想用它做什么?
答案 1 :(得分:1)