Ir ao conteúdo
  • Cadastre-se

SSH na linguagem C


rafaelrrf

Posts recomendados

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. Na hora de compilar dois erros são exibidos:
 
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.

Link para o comentário
Compartilhar em outros sites

Exatamente. Pois o programa compila certinho e exibe estes erros no console. Estou começando a usar esta biblioteca e apliquei o conhecimento que adquiri nela até o momento. Estes erros ocorrem quando uso o comando "ssh_connect(my_ssh_session)" . Espero que tenha alguem que conheça essa lib para poder me ajudar.

Link para o comentário
Compartilhar em outros sites

No teu primeiro post você diz que são dois erros de compilação, dando a entender que há algo errado no código.

Mas se o programa compila, então o problema deixa de ser relacionado a C/C++ e passa a ser específico do SSH e da conexão.

Eu sendo você tentaria conectar com o client normal do SSH, só pra ter certeza que o teu SO e o teu roteador (se estiver usando um) estão conseguindo acessar o endereço e a porta do servidor com esse usuário e senha aí.

Link para o comentário
Compartilhar em outros sites

Talvez eu não tenha explicado muito bem. Mas o problema não é de compilação, e sim do SSH ao tentar fazer a conexão. Acredito que seja alguma informação que esteja faltando.

 

Eu já fiz o teste usando o Putty, e a conexão está perfeita. Sendo que ja alterei o host no codigo para fazer este teste, colocando um inexistente o programa me diz que o host não é conhecido, e quando coloco o certo estes erros de conexão são exibidos.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!