ssh客户端返回错误“无法应用选项”

时间:2011-07-04 10:35:12

标签: libssh

连接到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;
}

任何人都可以告诉我可能导致此错误的可能性是什么?

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

ssh_options_set(my_ssh_session, SSH_OPTIONS_USER, "random_username");

在主应用程序中设置主机名选项之前,请执行此操作。

答案 2 :(得分: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");

希望这会有所帮助。