libssh2

Форк
0
/
test_agent_forward_ok.c 
57 строк · 1.6 Кб
1
/* Copyright (C) The libssh2 project and its contributors.
2
 *
3
 * SPDX-License-Identifier: BSD-3-Clause
4
 */
5

6
#include "runner.h"
7

8
static const char *username = "libssh2"; /* set in Dockerfile */
9
static const char *key_file_private = "key_rsa";
10
static const char *key_file_public = "key_rsa.pub"; /* set in Dockerfile */
11

12
int test(LIBSSH2_SESSION *session)
13
{
14
    int rc;
15
    LIBSSH2_CHANNEL *channel;
16

17
    const char *userauth_list =
18
        libssh2_userauth_list(session, username,
19
                              (unsigned int)strlen(username));
20
    if(!userauth_list) {
21
        print_last_session_error("libssh2_userauth_list");
22
        return 1;
23
    }
24

25
    if(!strstr(userauth_list, "publickey")) {
26
        fprintf(stderr, "'publickey' was expected in userauth list: %s\n",
27
                userauth_list);
28
        return 1;
29
    }
30

31
    rc = libssh2_userauth_publickey_fromfile_ex(session, username,
32
                                                (unsigned int)strlen(username),
33
                                                srcdir_path(key_file_public),
34
                                                srcdir_path(key_file_private),
35
                                                NULL);
36
    if(rc) {
37
        print_last_session_error("libssh2_userauth_publickey_fromfile_ex");
38
        return 1;
39
    }
40

41
    channel = libssh2_channel_open_session(session);
42
    #if 0
43
    if(!channel) {
44
        printf("Error opening channel\n");
45
        return 1;
46
    }
47
    #endif
48

49
    rc = libssh2_channel_request_auth_agent(channel);
50
    if(rc) {
51
        fprintf(stderr, "Auth agent request for agent forwarding failed, "
52
            "error code %d\n", rc);
53
        return 1;
54
    }
55

56
    return 0;
57
}
58

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.