当前位置: 首页 > 知识库问答 >
问题:

“KEX错误:在与sshlib连接时未找到algos diffie-hellman-group1-sha1-in list中的一个”

陆正德
2023-03-14

我正在Windows中实现SFTPC++来传输一些文件。我已经下载并附加了所有的库(libssh0.5.0)。

#include "ssh.h"

int main()
{
    pSFTPConnector  sshc = new  SFTPConnector(L".\\", L"147.13.5.123", 22, L"John", L"password");  // change the hostname , port , username, password to your sftp server, your credentials

    FILE *nullfile = fopen("null", "w");
    sshc->setLogFile(nullfile);
    sshc->setVerbosity(1);  // you can change the verbosity as appropriate for you

    int i = sshc->InitSession();
    if (i != E_OK) wprintf(L"%s", sshc->errstring.c_str());

    i = sshc->ConnectSession();
    if (i != E_OK) wprintf(L"%s", sshc->errstring.c_str());

    i = sshc->InitSFTP();
    if (i != E_OK) wprintf(L"%s", sshc->errstring.c_str());

    i = sshc->SFTPrename("renamed_myfile.txt", "myfile.txt");  //change these file names
    i = sshc->Makedir("sftpdir");
    i = sshc->testUploadFile("myfile2.txt", "1234567890testfile");


    i = sshc->SFTPreget("c:\\testdir\\reget_downloaded_CAR_HIRE_FINAL.jpg", "CAR_HIRE_FINAL.jpg", 64 * 1024);
    sshc->setBlockTransferDelay(1);

    i = sshc->GetSessionStatus();
    i = sshc->SFTPreput("c:\\testdir\\CentOS-6.5-x86_64-bin-DVD1.iso", "reput_CentOS-6.5-x86_64-bin-DVD1.iso", 64 * 1024);
    i = sshc->SFTPreput("c:\\testdir\\Reget_CentOS-6.5-x86_64-bin-DVD1.iso", "reput2_CentOS-6.5-x86_64-bin-DVD1.iso", 64 * 1024);

    if (i != E_OK) wprintf(L"%s", sshc->errstring.c_str());
    delete sshc;
    getchar();
    return 0;
}

共有1个答案

邬阳
2023-03-14

libssh 0.5是7岁。因此它不支持许多最新服务器所需要的现代算法。更不用说它可能有许多安全问题。

请使用最新版本的libssh。

 类似资料:
  • 我正在Windows中实现SFTP C来传输一些文件。我已经用这个下载并附加了所有的库(libssh 0.5.0)。 我找到了来自这个作者的一些代码:德斯菲博伊。但它显示错误为: 错误:Kex错误:未在列表curve25519-sha256@libssh.org.ecdh-sha2-nistp256、ecdh-sha2-nistp384、ecdh-sha2-nistp521、addie-hellm

  • 我正在使用支持文件传输的SFTP协议的硬件设备。为此,我在AWS传输系列中创建了SFTP服务器。 我面临的问题是,该设备不支持AWS transfer系列支持的任何加密算法 因此,我得到以下错误 错误KEX_FAILURE Message=“未找到匹配的密钥交换方法”KEX=diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1

  • 我读到的几乎所有答案都说我的数据库名或pw是错的,但我100%确定不是。以下是http错误描述:javax . servlet . servlet异常:javax . servlet . JSP . JSP异常:无法获取连接,数据源无效:“java.sql.SQLException:拒绝用户' root'@'localhost '(使用密码:YES)的访问” 如果有人能帮助我,我会很棒。仍然是编程

  • 我对Kafka connect很陌生。我想把我的信息从Kafka主题推到弹性搜索。在阅读了可用的文档之后,我从发行版tar下载并编译了弹性搜索接收器。拉链(https://github.com/confluentinc/kafka-connect-elasticsearch/releases) 我添加了弹性搜索属性文件,并将上述jar包含在类路径中。当我在独立模式下运行kafka connect时

  • 我在源代码树中将c项目拆分为几个不同的库/可执行文件。有一个顶级的Cmake文件,其中包括一些子目录。一个叶库B链接到另一个叶库A。然而,即使A公开添加了target_include_directories,在B中,我得到了错误C1083——无法打开包含文件。 操作系统:Win10 使用GCC 7.3.0工具包: > CMake命令 错误消息: 使用工具包Visual Studio Build T

  • 我在初始化javadb网络服务器和设置与它的连接时遇到问题。这是一个JavaFX程序。 这就是我目前的情况: 我总是抓住第二个例外。 如果我右键单击netbeans中的javadb服务并选择connect,一切都会顺利运行。[实际上,当我选择java时,最好能知道java在后台运行什么代码或程序] 在库下的项目列表中,我看到derby.jar、derbyclient.jar和derbynet.ja