【问题标题】:Purpose of pubkey parameter of JSch.addIdentityJSch.addIdentity 的 pubkey 参数的用途
【发布时间】:2020-04-26 21:49:22
【问题描述】:

我指的是

public void addIdentity(String name,
                        byte[] prvkey,
                        byte[] pubkey,
                        byte[] passphrase)
                 throws JSchException

我尝试使用它,无论我输入什么pubkey(无论长度或字符),只要prvkey匹配,就会建立连接。

这是正常行为吗?那为什么还要pubkey呢?

经过一番研究,似乎pubkey 不是故意忽略的,但它必须尊重某些规则才能考虑,否则它似乎仍然只考虑prvkey

【问题讨论】:

    标签: java ssh jsch ssh-keys public-key


    【解决方案1】:

    当您将多个密码短语加密的密钥对加载到 JSch(或任何 SSH 库/客户端)中时,使用未加密的公钥特别有用。

    拥有未加密的公钥,客户端(JSch)可以使用公钥询问服务器,它是否识别密钥。如果是这样,那么只有 JSch 会要求输入密码来解密私钥。

    如果您只有一个密钥或所有密钥都未加密,则无需指定pubkey(使用null)。

    【讨论】:

      猜你喜欢
      • 2019-01-15
      • 2013-02-20
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      • 1970-01-01
      • 2015-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多