libssh2 - Encaminhamento de Agente não está funcionando

2

Estou usando as conexões libssh2 library to ssh no meu aplicativo para dispositivos móveis. Aqui eu quero usar Agent Forwarding support.

Eu segui o mesmo procedimento que eles forneceram no exemplo Encaminhamento de agentes do LibSSH2 .

Eu sou capaz de criar agente com sucesso, mas quando tento conectá-lo com libssh2_agent_connect(agent) , isso me dá um erro -39 LIBSSH2_ERROR_BAD_USE .

Bem, estou verificando a mesma coisa usando terminal MAC OSX e está funcionando bem. Por favor, sugira se algo estiver errado,

É assim que eu estou tentando fazer uma conexão bem-sucedida

struct libssh2_agent_publickey *identity, *prev_identity = NULL;
int rc;
agent = libssh2_agent_init(session);

if (!agent)
{
    fprintf(stderr, "Failure initializing ssh-agent support\n");
    rc = 1;
}

int temp=libssh2_agent_connect(agent);
if (temp)
{
    fprintf(stderr, "Failure connecting to ssh-agent\n");
    rc = 1;
}

Há algo de errado aqui? por favor sugira.

    
por Niks 18.08.2015 / 11:58

1 resposta

1

Do código em link

path = getenv("SSH_AUTH_SOCK");
if (!path)
    return _libssh2_error(agent->session, LIBSSH2_ERROR_BAD_USE,
                          "no auth sock variable");

Então, obviamente, esse erro está acontecendo porque você não tem a variável de ambiente apontando para o soquete do agente configurado corretamente. Peça para o seu código imprimir o valor de getenv("SSH_AUTH_SOCK") em caso de erro para confirmar isso.

    
por 19.08.2015 / 17:36