ssh-keygen:签名语法 - 需要选项帮助

ssh-keygen:签名语法 - 需要选项帮助

我正在尝试使用受限选项签署一些 SSH 密钥。

我最初的尝试如下:

ssh-keygen -s /path/to/ca-ssh.pem -D opensc-pkcs11.so -n barfoo -O no-agent-forwarding -O no-port-forwarding -O no-x11-forwarding -O no-user-rc -O no-pty -I foo -z 12345 /path/to/pub

然而,这会产生没有选项的结果:

    $ ssh-keygen -L -f
    Type: [email protected] user certificate                                                                                                                           
    Public key: ED25519-CERT SHA256:secretsquirrel                                                                                                      
    Signing CA: RSA SHA256: secretsquirrel                                                                                                                
    Key ID: "foo"                                                                                                                                        
    Serial: 12345                                                                                                                                                       
    Valid: forever                                                                                                                                                                    
    Principals:                                                                                                                                                                       
            barfoo                                                                                                                                                                       
    Critical Options: (none)                                                                                                                                                          
    Extensions: (none)  

一开始我以为应该-O clear在其他选项之前添加。但结果是一样的(none)

因此我想我会尝试-O critical:no-agent-forwarding样式语法,但这会产生:

Critical Options:
        no-agent-forwarding UNKNOWN OPTION (len 0)

最后我尝试了-O critical:no-agent-forwarding=true,但结果UNKNOWN OPTION与上面的相同。

这没什么关系,但我使用的版本是:

  • Debian 10(破坏者)
  • OpenSSH_7.9p1 Debian-10+deb10u2,OpenSSL 1.1.1d 2019 年 9 月 10 日

答案1

您实际上已经实现了想要做的事情:禁用所有权限,这意味着您的“扩展”列表为空。看看如果您-O根本不使用会发生什么,即ssh-keygen -s /path/to/ca-ssh.pem -D opensc-pkcs11.so -n barfoo -I foo -z 12345 /path/to/pub- 那么启用了哪些扩展?

-您使用的所有选项都是“no-xxxx”,这意味着您禁用扩展,从而清空扩展列表。 - 无需逐个禁用/删除它们,您只需使用-O clear。从手册页

clear ---- 清除所有启用的权限。这对于清除默认权限集很有用,因此可以单独添加权限。

相关内容