【问题标题】:libssh trying to authenticate with public and private keyslibssh 尝试使用公钥和私钥进行身份验证
【发布时间】:2015-01-10 02:50:12
【问题描述】:

我一直在尝试使用 libssh 连接到服务器并通过 SFTP 下载文件。我有一个 PuTTY 私钥文件,其中包含 6 行公钥和 12 行私钥,但我找不到任何体面的帮助或文档来获取这些密钥并使用它们来验证与服务器的连接。有人知道怎么做吗?

到目前为止,我能找到的唯一身份验证选项是我在 libssh 头文件中找到的:

LIBSSH_API int ssh_userauth_pubkey(ssh_session session, const char *username, ssh_string publickey, ssh_private_key privatekey);

但是,我不知道 PuTTY .ppk 文件中的密钥如何转换为公钥的 ssh_string 或私钥的 ssh_private_key

【问题讨论】:

    标签: ssh sftp private-key public-key libssh


    【解决方案1】:

    改用ssh_userauth_privatekey_file,或查看libssh 代码了解其实现方式(它在内部调用ssh_userauth_pubkey)。

    int ssh_userauth_privatekey_file(ssh_session session,
                                     const char *username,
                                     const char *filename,
                                     const char *passphrase);
    

    您需要使用 PuTTYgen 来convert your .ppk file to OpenSSH format转换 > 导出 OpenSSH 密钥)。

    【讨论】:

      【解决方案2】:

      请通过下面的链接,它有解决这个问题的方法:

      http://social.technet.microsoft.com/wiki/contents/articles/20974.biztalk-server-2010-how-to-use-blogical-sftp-adapter.aspx

      1. 只需安装 Bitwise SSG 服务器。
      2. 转到管理主机。
      3. 导入您的私钥。
      4. 然后选择相同的私钥并点击“导出”选项。
      5. 弹窗会询问导出key的格式,点击openSSH格式。
      6. 将扩展名为 .ppk 的新密钥保存在本地。
      7. 现在将此密钥作为 BizTalk SFTP 适配器的输入。它将连接到 SFTP 服务器。

      【讨论】:

        猜你喜欢
        • 2013-10-08
        • 2020-08-19
        • 2015-08-20
        • 2015-10-20
        • 1970-01-01
        • 2012-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多