当前位置:  开发笔记 > 编程语言 > 正文

JSCH addIdentity公钥参数没有区别

如何解决《JSCHaddIdentity公钥参数没有区别》经验,为你挑选了1个好方法。

它是(某些)加密私钥的优化.您没有发现任何差异,因为您使用了未加密的私钥.

如果你给jsch一个OpenSSL格式的加密私钥,并且没有预先提供密码来解密它,但确实提供了公钥(永远不会加密),并且密钥对成为认证的下一个选择,jsch使用publickey探测服务器以确定服务器是否可能使用此密钥接受auth.如果是这样,jsch必须提示密码短语解密私钥以实际执行身份验证; 如果没有,它会跳过提示并转到下一个可能性,如果有的话.查看源代码com.jcraft.jsch.UserAuthPublicKey.java.

OpenSSH客户端ssh几乎完全相同.如果您(作为选项,在配置中或默认情况下)提供OpenSSL格式加密的私钥,并且它找到匹配的公钥,它首先进行探测,并仅在密钥可用时提示密码才能解密.ssh不允许提前指定密码Jsch.addIdentity,但它可以使用ssh-agent完成相同操作的进程(或替代).

6.5之后的OpenSSH还支持创建的"新格式"密钥文件ssh-keygen -o,可以在一个文件中使用加密私钥和未加密的publickey,避免单独处理publickey.Jsch不支持这种格式,但它确实支持PuTTY的PPK格式,它可以做同样的事情,因此你可以将单个文件作为私钥而不是公钥.



1> dave_thompso..:

它是(某些)加密私钥的优化.您没有发现任何差异,因为您使用了未加密的私钥.

如果你给jsch一个OpenSSL格式的加密私钥,并且没有预先提供密码来解密它,但确实提供了公钥(永远不会加密),并且密钥对成为认证的下一个选择,jsch使用publickey探测服务器以确定服务器是否可能使用此密钥接受auth.如果是这样,jsch必须提示密码短语解密私钥以实际执行身份验证; 如果没有,它会跳过提示并转到下一个可能性,如果有的话.查看源代码com.jcraft.jsch.UserAuthPublicKey.java.

OpenSSH客户端ssh几乎完全相同.如果您(作为选项,在配置中或默认情况下)提供OpenSSL格式加密的私钥,并且它找到匹配的公钥,它首先进行探测,并仅在密钥可用时提示密码才能解密.ssh不允许提前指定密码Jsch.addIdentity,但它可以使用ssh-agent完成相同操作的进程(或替代).

6.5之后的OpenSSH还支持创建的"新格式"密钥文件ssh-keygen -o,可以在一个文件中使用加密私钥和未加密的publickey,避免单独处理publickey.Jsch不支持这种格式,但它确实支持PuTTY的PPK格式,它可以做同样的事情,因此你可以将单个文件作为私钥而不是公钥.

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有