首页 > 解决方案 > PHPSecLib V2:当私钥密码包含特殊字符时出现问题?

问题描述

有谁知道在使用带有私钥的密码时 PHPSecLib 是否有限制?现在,如果我们使用包含“#”字符的私钥密码,似乎登录到 sftp 服务器会失败。如果我们使用另一个密码相同的密钥对,稍微修改一下私钥中的#字符,登录就会成功。

据我们所知,我们并没有在代码中做一些愚蠢的事情。与 PHPSecLib 一起使用的密钥与不使用的密钥之间的唯一区别是私钥密码中的单个字符。我们还仔细检查以确保两个密钥对都可以与标准 SSH 客户端一起使用。

所以,看看这是否是一个已知问题 - 在 GITHUB 问题列表中找不到任何具体的信息。

(我们还没有尝试使用任何其他特殊字符 - 现在只使用 # 字符。)

提前感谢您提供的任何信息。

标签: rsaphpseclib

解决方案


跟进这一点 - 问题不在于 phpseclib 库。事实证明,如果您使用 WSL 生成带有密码的密钥对,由于某种原因,它不会生成正确加密的密钥对。根据我们如何生成用于测试的两个密钥对(我们使用不同的机器),看起来特殊字符是一个问题。但是,如果您使用密码,它只是 WSL 生成不兼容的密钥对......


推荐阅读