连接到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;
}
任何人都可以告诉我可能导致此错误的可能性是什么?
答案 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");
希望这会有所帮助。