使用libssh连接到SUSE

问题描述:

我正尝试使用libssh(https://www.libssh.org/)与安装了SUSE Enterprise操作系统的计算机建立连接。使用libssh连接到SUSE

ssh_options_set(tempSshSession, SSH_OPTIONS_HOST, host2Connect); 
    ssh_options_set(tempSshSession, SSH_OPTIONS_LOG_VERBOSITY, &verbosity); 
    ssh_options_set(tempSshSession, SSH_OPTIONS_PORT, &port); 

    int rc = ssh_connect(tempSshSession); 
    if(rc != SSH_OK) { 
     printf("Error connecting to the localhost\n"); 
     exit(-1); 
    } 
    // Authorized by the password. 
    rc = ssh_userauth_password(tempSshSession, username, password); 

ssh_userauth_password后()调用返回的响应: “SSH_AUTH_DENIED:验证失败:使用另一种方法

它工作正常的操作系统,如:Ubuntu的,通用的Linux和CentOS。

谢谢

+0

这是一个非常诱人的问题。 https://stackoverflow.com/help/how-to-ask。我只能投下恶意和粗心大意。我给你带来怀疑的好处。但抱紧别人不会那么善良。 –

+0

用户名是'root'吗? –

+1

当它在其他系统上工作时,它看起来像是一个sshd配置错误(至少不同)。你可以检查配置吗?你可以建立一个没有程序的连接? – xyious

检查/etc/ssh/sshd_config。你应该在那里找到PermitRootLogin forced-command-only。将其设置为yes,您的问题应该消失。请记住,有一个原因,为什么人们决定不允许每个默认的root用户/密码登录。

+1

在我测试过的所有其他服务器上,我也使用root作为用户 –

+0

这些配置设置偏离了分发到分发和管理员到管理员 –