连接到 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;
}
谁能告诉我可能导致此错误的可能性是什么?
连接到 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;
}
谁能告诉我可能导致此错误的可能性是什么?
没有使用 ssh_options_set() 设置选项。ssh_options_apply() 进行完整性检查。
我有同样的问题。我不知道为什么,但是当我将这个“可选”选项添加到 libssh 教程中时,它就起作用了:
ssh_options_set(my_ssh_session, SSH_OPTIONS_USER, "random_username");
在您的主应用程序中设置主机名选项之前放置它。
在我设法解决它之前,我一直在努力解决这个问题。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");
希望这可以帮助。