如何使ssh仅使用ssh-agent中的一个密钥?

rdm

连接到同一主机时,我需要使用两个不同的ssh密钥。

我需要用于连接的计算机(由于ip地址限制)不是存储ssh密钥的计算机,因此我在这里使用ssh-agent。同样,这些ssh连接是在中间计算机上运行的脚本的控制下发生的。

如果ssh密钥在该计算机本地,我想我可以使用ssh -i(或在嵌套代理中使用ssh-add)指定要使用的身份,并且可以将脚本和/或脚本上下文更新为针对我的情况做正确的事情(可能使用配置文件来指定相关详细信息)。

但是,由于密钥不在执行ssh连接的计算机上,因此ssh -i失败(该计算机上不存在私钥文件)。而且,类似地,ssh-add希望我通过提供私钥的文件名来指定密钥。(或者我怀疑是这种情况-我实际上还没有弄清楚如何嵌套ssh-agent,但是ssh-add的文档使人怀疑这是否是一种可行的方法。)

所以我的问题是:与目标系统建立联系时,如何使ssh仅使用我指定的密钥?

[当然,其他人也需要使用这些脚本,但这是我自己解决该问题后可以解决的问题。]

换句话说,我有这种情况:

$ ssh-add -l
2048 SHA256:A8PFww3boSTRe8sPvXDgir09KNVqu+JvWNw7/GLCiwM /home/account/.ssh/key1.pem (RSA)
2048 SHA256:Em5p4B++GIm0l/zDYgZ26VaHbIb07T6MViu5ioMPTiA /home/account/.ssh/key2_rsa (RSA)
4096 SHA256:JON2JaTTk1r3ufUrGm4C/cE9IG9edyfDxE1zTel/0u8 /home/account/.ssh/key3_rsa (RSA)

在一种情况下,我需要使用SSH来使用key2_rsa,而在另一种情况下,我需要使用SSH来使用key3_rsa

在此使用错误的密钥会导致与目标系统的连接失败(因为它会将另一个密钥识别为可以访问计算机但不能访问该子系统)。

我该如何工作?

用户名

ssh -i也接受包含公共密钥的文件,如果在代理中找到匹配的密钥,则将在所有其他密钥之前尝试使用该密钥。

此外,如果-o IdentitiesOnly=yes指定了该选项,则客户端将使用该密钥,并且如果被拒绝,客户端将不会退回到任何其他密钥。(请注意,回退到其他机制(例如GSSAPI或密码)是由其他选项控制的。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 gpg-agent 和另一个密钥来源的 SSH 身份验证?

来自分类Dev

如何仅将私有ssh密钥分配给一个用户?

来自分类Dev

使用一个特定的ssh密钥临时禁用登录

来自分类Dev

如何使用Open SSH密钥?

来自分类Dev

如何使用ssh-agent禁止主机密钥检查

来自分类Dev

如何使用gpg-agent设置SSH密钥转发?

来自分类Dev

如何使用有效的ssh密钥检索ssh密码

来自分类Dev

如何将ssh-agent与多个(有效)密钥一起使用,并选择要使用的密钥?

来自分类Dev

如何使用一个密码启动多个SSH会话?

来自分类Dev

禁用一个用户的SSH密钥身份验证

来自分类Dev

为整个组织部署一个SSH密钥

来自分类Dev

如何仅使一个用户通过SSH密钥进行身份验证并允许对所有其他用户进行密码身份验证

来自分类Dev

如何与ssh-agent + ssh-add一起使用gpg-agent?

来自分类Dev

如何停止使用ssh-agent?

来自分类Dev

SSH如何知道要使用哪个密钥?

来自分类Dev

如何强制Mac使用ssh dsa密钥?

来自分类Dev

如何使用SSH密钥进行NppFTP?

来自分类Dev

如何使用SSH / RSA密钥登录VPS

来自分类Dev

使用github时如何管理ssh密钥

来自分类Dev

如何使用 pdsh 指定 ssh 密钥

来自分类Dev

PYTHON:如何使用 Python 打印 SSH 密钥

来自分类Dev

为什么SSH总是使用服务器接受的第一个密钥?

来自分类Dev

使用 ssh 密钥与密码进行远程登录。奇怪的错误:是一个目录

来自分类Dev

如何使用SSH2的ssh-keygen生成SSH1密钥

来自分类Dev

如何修复仅一台机器损坏的SSH?

来自分类Dev

通过SSH密钥仅添加对一个git存储库的访问权限,而不是整个主机

来自分类Dev

当密钥在ssh-agent中时提示输入密钥密码

来自分类Dev

从一个主机到另一个主机的Ansible复制ssh密钥

来自分类Dev

如何判断PuTTY是否正在使用Pageant中的ssh密钥

Related 相关文章

  1. 1

    使用 gpg-agent 和另一个密钥来源的 SSH 身份验证?

  2. 2

    如何仅将私有ssh密钥分配给一个用户?

  3. 3

    使用一个特定的ssh密钥临时禁用登录

  4. 4

    如何使用Open SSH密钥?

  5. 5

    如何使用ssh-agent禁止主机密钥检查

  6. 6

    如何使用gpg-agent设置SSH密钥转发?

  7. 7

    如何使用有效的ssh密钥检索ssh密码

  8. 8

    如何将ssh-agent与多个(有效)密钥一起使用,并选择要使用的密钥?

  9. 9

    如何使用一个密码启动多个SSH会话?

  10. 10

    禁用一个用户的SSH密钥身份验证

  11. 11

    为整个组织部署一个SSH密钥

  12. 12

    如何仅使一个用户通过SSH密钥进行身份验证并允许对所有其他用户进行密码身份验证

  13. 13

    如何与ssh-agent + ssh-add一起使用gpg-agent?

  14. 14

    如何停止使用ssh-agent?

  15. 15

    SSH如何知道要使用哪个密钥?

  16. 16

    如何强制Mac使用ssh dsa密钥?

  17. 17

    如何使用SSH密钥进行NppFTP?

  18. 18

    如何使用SSH / RSA密钥登录VPS

  19. 19

    使用github时如何管理ssh密钥

  20. 20

    如何使用 pdsh 指定 ssh 密钥

  21. 21

    PYTHON:如何使用 Python 打印 SSH 密钥

  22. 22

    为什么SSH总是使用服务器接受的第一个密钥?

  23. 23

    使用 ssh 密钥与密码进行远程登录。奇怪的错误:是一个目录

  24. 24

    如何使用SSH2的ssh-keygen生成SSH1密钥

  25. 25

    如何修复仅一台机器损坏的SSH?

  26. 26

    通过SSH密钥仅添加对一个git存储库的访问权限,而不是整个主机

  27. 27

    当密钥在ssh-agent中时提示输入密钥密码

  28. 28

    从一个主机到另一个主机的Ansible复制ssh密钥

  29. 29

    如何判断PuTTY是否正在使用Pageant中的ssh密钥

热门标签

归档