Conexão SSH usando a linguagem C

1. Conexão SSH usando a linguagem C

Rafael Ribeiro Ferreira
rafaelrrf

(usa Debian)

Enviado em 19/01/2015 - 10:43h

Olá pessoal,

Estou tentando me conectar à um servidor linux através da linguagem C, usando a biblioteca do SSH (www.libssh.org), mas estou com alguns problemas. Não há erros na compilção e sim na conexão do ssh com o servidor. O erro acontece quando uso a função "ssh_connect(my_ssh_session)". Acredito que esteja faltando alguma informação. Segue abaixo os erros exibidos no console do programa:

ssh_connect_nonbloking: Failed to connect: No error

ssh_socket_connect: Nonbloking connection socket: -1

O codigo que estou usando e este:

#include <stdio.h>
#include <libssh.h>

int main()
{
char *user = "usuario";
char *password = "minhasenha";
const char *host = "192.168.1.10";
const int port = 22;
int rc;
int verbosity = SSH_LOG_PROTOCOL;
int v = 1;




ssh_session my_ssh_session;
my_ssh_session = ssh_new();

if (my_ssh_session == NULL)
return(-1);

ssh_options_set(my_ssh_session, SSH_OPTIONS_SSH2, &v);

ssh_options_set(my_ssh_session, SSH_OPTIONS_HOST, host);
ssh_options_set(my_ssh_session, SSH_OPTIONS_LOG_VERBOSITY, &verbosity);
ssh_options_set(my_ssh_session, SSH_OPTIONS_PORT, &port);
ssh_options_set(my_ssh_session, SSH_OPTIONS_USER, user);

rc = ssh_connect(my_ssh_session);
if (rc != SSH_OK)
{
fprintf(stderr,"Error connecting to host %s\n",ssh_get_error(my_ssh_session));
ssh_free(my_ssh_session);
return(-1);
}

rc = ssh_userauth_password(my_ssh_session, user, password);
if (rc == SSH_AUTH_SUCCESS)
{
printf("Authenticated correctly");

}
}


Gostaria de saber como posso resolver estes erros.


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts