小编dan*_*elo的帖子

使用来自 SSH 代理的特定转发密钥?

假设我有一个 Github 的密钥以及其他密钥。我ssh-add -L在我的家用电脑 A 上为我的 ssh 代理添加了很多密钥(返回很多行)。在我的.ssh/config我已经设置了哪个密钥用于哪个主机,例如

ssh -T -vvv git@github.com 2>&1 | grep Offering
Run Code Online (Sandbox Code Playgroud)

debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,只提供了一把钥匙。但是然后使用 ssh-ing 连接到某个主机 BForwardAgent yes并重复相同的命令,我得到

debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.linode2
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.helium
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
Run Code Online (Sandbox Code Playgroud)

这意味着它会尝试我所有的钥匙。这是有问题的,因为在服务器返回之前只能尝试有限数量的密钥Too many authentication failures。所以我尝试.ssh/config在主机 B 上编辑以包括

Host github.com
  IdentityFile /Users/doxna/.ssh/id_rsa.github
  IdentitiesOnly yes
Run Code Online (Sandbox Code Playgroud)

但后来我没有得到关键的产品,而是

debug2: key: /Users/doxna/.ssh/id_rsa.github ((nil))
Run Code Online (Sandbox Code Playgroud)

我猜这意味着找不到密钥(?)毕竟,密钥位于我的家用计算机 A 上,而不是主机 B,所以问题是如何在主机 B 上引用它?希望我设法解释了这个问题。

ssh ssh-agent

36
推荐指数
2
解决办法
1万
查看次数

标签 统计

ssh ×1

ssh-agent ×1