gpt4 book ai didi

c - 如何使用 libssh 模块进行双重身份验证?

转载 作者:行者123 更新时间:2023-11-30 17:12:12 24 4
gpt4 key购买 nike

我的 SSH 服务器使用双重身份验证。我不知道它是如何实现的。但最初它要求输入密码,然后再次要求输入另一个密码才能登录到与通常控制不同的单独控制台。

我的代码与文档中显示的示例代码类似,

#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <stdio.h>
#include <libssh/libssh.h>


int main(int argc, char * argv[])
{
ssh_session my_ssh_session = ssh_new();
int rc;
char * password;
char * username = "admin";
// Check if ssh session exists.
if(my_ssh_session == NULL)
{
exit(-1);
}

ssh_options_set(my_ssh_session, SSH_OPTIONS_HOST, "x.x.x.x");

rc = ssh_connect(my_ssh_session);
if (rc != SSH_OK)
{
fprintf(stderr, "Error Connecting to Server: %s.\n", ssh_get_error(my_ssh_session));
exit(-1);
}

password = getpass("Password: ");
rc = ssh_userauth_password(my_ssh_session, username, password);
if (rc != SSH_AUTH_SUCCESS)
{
fprintf(stderr, "ERROR Authenticating: %s.\n", ssh_get_error(my_ssh_session));
ssh_disconnect(my_ssh_session);
ssh_free(my_ssh_session);
}
else
{
printf("Authentication Successful.\n");
}

ssh_free(my_ssh_session);
}

我如何在此实现双重身份验证?你能帮我一下吗?

最佳答案

什么版本的libssh 你有吗?

“版本 0.5.1 及更高版本在处理 SSH_MSG_NEWKEYS 和 SSH_MSG_KEXDH_REPLY 包时存在逻辑错误。检测到的错误未将 session 正确设置为错误状态,并进一步处理数据包,从而导致空指针取消引用。这是初始 key 交换后的数据包,不需要身份验证。”

引用号libssh

关于c - 如何使用 libssh 模块进行双重身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31697261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com