0

连接到 SSH 服务器时出现“无法应用选项”。

当我检查库的源代码时,我在 client.c 中发现以下代码返回错误。

ret = ssh_options_apply(session);

if (ret < 0) {
    ssh_set_error(session, SSH_FATAL, "Couldn't apply options");
    leave_function();
    return SSH_ERROR;
}

谁能告诉我可能导致此错误的可能性是什么?

4

3 回答 3

0

没有使用 ssh_options_set() 设置选项。ssh_options_apply() 进行完整性检查。

于 2011-08-30T15:52:39.533 回答
0

我有同样的问题。我不知道为什么,但是当我将这个“可选”选项添加到 libssh 教程中时,它就起作用了:

ssh_options_set(my_ssh_session, SSH_OPTIONS_USER, "random_username");

在您的主应用程序中设置主机名选项之前放置它。

于 2014-01-17T06:24:31.507 回答
0

在我设法解决它之前,我一直在努力解决这个问题。libssh 尝试设置 SSH_OPTIONS_SSH_DIR 选项,该选项基本上是写入 known_hosts 文件的路径,但它失败了。在以前版本的 libssh 中,默认情况下,路径类似于“C:/Users/your_user/”,其中“.ssh”文件夹是使用“known_hosts”文件创建的。在最新版本中,您需要自己指定此路径。并且也不要忘记设置 SSH_OPTIONS_USER 。

ssh_options_set(sshSession, SSH_OPTIONS_SSH_DIR, "C://temp");
ssh_options_set(sshSession, SSH_OPTIONS_USER, "user");

希望这可以帮助。

于 2019-04-08T19:24:13.753 回答