我正在进行一个项目,其中一个用户需要使用PUTTY键连接到FTP。该项目使用Chilkat来处理SFTP连接,我们有一个.ppk文件的副本来建立连接。我们已经确认,通过提供的.ppk文件和用户名,我们可以使用Filezilla连接到服务器。
使用提供的带Chilkat的密钥文件并调用FromOpentSshPrivateKey()或FromPuttyPrivateKey方法,返回相同的结果,其中方法返回false,PrivateKey.LastErrorText显示错误消息,只报告为“无效的FromPuttyPrivateKey (2)”。我已经对这个错误做了一些搜索,似乎与这些键失败有关的所有问题都是6+年前的,确切的错误信息通常与我看到的不一样。
我已经尝试将我们正在使用的Chilkat版本更新为最新版本,并且错误保持不变。有什么方法可以让我更详细地了解这个问题,因为冗长的日志记录似乎只包括实际的键值和算法以及错误。不确定是否会更容易地花时间试图解决问题与chilkat,或利用时间来寻找替代chilkat,可能成功地连接。
我们对使用OpenSSH连接到SFTP的用户没有问题,但这是第一个尝试使用Putty的用户。
发布于 2022-06-22 01:09:38
除非您使用的是较旧版本的Chilkat,否则新的PPK格式不会出现问题。Chilkat能够阅读新的PPK版本,启动一两个版本的Chilkat (我想不起来了)。
问题可能是您的SSH服务器支持rsa-sha2-256主机密钥算法,但不支持rsa-sha2-256进行公钥身份验证。如果服务器表示支持rsa-sha2-256,客户端将慢慢转向使用rsa-sha2-256进行公钥身份验证,而不是使用SHA1。Chilkat最近进行了切换(因为一些服务器拒绝SHA1,并且需要rsa-sha2-256)。因此,那些该死的--如果--你--你--如果--你--不--不可能。有些服务器说他们支持某些东西,但不完全..。
一个解决方案是将sftp.UncommonOptions = "ForceUserAuthRsaSha1“设置为强制SHA1进行用户身份验证。
发布于 2022-06-22 14:27:04
这实际上是我们的系统的一个问题,因为某种原因,失去了键的格式,并将所有的信息粘在一行上。我开始操作这个值,并最终开始获得关于“第4行期望的公共行”的更精确的错误消息。目前正在检查我们的系统,以确定在这种情况下是什么导致了行结构丢失,但是连接现在确实成功了,因为它被纠正了。
我很欣赏这个指导,因为对于运行SFTP连接和这些键是如何构造的,我还是相当陌生的。我肯定会对未来的PuTTY进行更多的研究,因为我们总是有可能获得一个使用不同版本的客户端,或者与当前的场景有不同的限制。
https://stackoverflow.com/questions/72706004
复制相似问题