该线程是对标题问题的答复:ssh-agent为什么不转发我的SSH证书? 实际上,我在搜索过程中找不到任何信息。我必须阅读ssh-add的C代码 才能解决我的问题。
我获得了有效的SSH证书:
$ ssh-keygen -L -f ~/.ssh/id_rsa-cert.pub
/home/user/.ssh/id_rsa-cert.pub:
Type: ssh-rsa-cert-v01@openssh.com user certificate
Public key: RSA-CERT SHA256:YgFzKPkUdZHLLi8bEKUs5/hLumNoMNG+oDJ+KD6mS3s
Signing CA: RSA SHA256:w+Cjpu/QQUunuojs9Af82ENdBUreCDXo+APao9X4dHw
Key ID: "user_key"
Serial: 0
Valid: from 2017-12-06T10:53:00 to 2017-12-07T10:54:57
Principals:
user
admin
Critical Options: (none)
Extensions:
permit-X11-forwarding
permit-agent-forwarding
permit-port-forwarding
permit-pty
permit-user-rc
Run Code Online (Sandbox Code Playgroud)
这是我的ssh-agent键列表:
$ ssh-add -l
4096 SHA256:YgFzKPkUdAGBPi8bEKUs5/hLumNoAds+oDJ+KD6mS3s user_key (RSA)
Run Code Online (Sandbox Code Playgroud)
当我在远程服务器上进行SSH时,它可以工作。我没有~/.ssh/authorized_keys密码,而且我的密钥可能转发很好,因为我得到了与以前相同的结果。
现在,我想从第一个服务器(使用ForwardAgent yes)通过SSH连接到另一台服务器:
$ ssh srv1
srv1:~$ ssh srv2 -vvv
...
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering …Run Code Online (Sandbox Code Playgroud)