ssh-agent:不要转发整个密钥环的身份验证


10

我有两个ssh私钥:

  • 一个访问我的个人机器,
  • 一个在我工作时访问服务器。

我使用将这两个键添加到ssh-agent中ssh-add

现在,当我这样做时,我ssh -A root@jobsrv只想转发我的工作密钥(我用来连接的密钥)的代理身份验证jobsrv

我想要这样做是因为具有root访问权限的任何人都jobsrv可以使用我的代理对我的个人计算机进行身份验证。

有没有办法实现这种隔离?


您是否在ssh的手册页中检查了-i选项?
一个人

1
@Stillakid是的,ssh -A -i myjobkey_rsa root@jobsrv仍然允许Jobsrv机器访问我的本地机器代理,并使用其他(个人)密钥在我的个人服务器上进行身份验证...
Totor 2013年

还检查了ssh-keysign?
一个人

Answers:


2

为了ssh(1)即使ssh-agent(1)提供多个密钥也要强制使用特定的密钥,请在中使用IdentityFileand IdentitiesOnly指令~/.ssh/config,例如:

Host example.com
    IdentityFile ~/.ssh/keys/special.pem
    IdentitiesOnly yes

有关ssh_config(5)详细信息,请参见。


这是行不通的IdentitiesOnly当您尝试连接到远程服务器时适用。建立连接后,如果-A启用了代理转发,则将转发整个密钥环。
Totor

密钥环未转发。它是被转发的AUTH请求
bahamat 2013年

@bahamat当然,我的错。仍然,此解决方案不起作用。
Totor

2

不幸的是,我认为这是不可能实现这一目标很容易在当下。一个人可以使用两个代理(每个密钥一个),这样就没有代理持有每个密钥。但是,这将非常麻烦。

这就是打开错误报告(增强功能)的原因。也有类似的报告

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.