使用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。
谢谢
答
检查/etc/ssh/sshd_config
。你应该在那里找到PermitRootLogin forced-command-only
。将其设置为yes
,您的问题应该消失。请记住,有一个原因,为什么人们决定不允许每个默认的root用户/密码登录。
+1
在我测试过的所有其他服务器上,我也使用root作为用户 –
+0
这些配置设置偏离了分发到分发和管理员到管理员 –
这是一个非常诱人的问题。 https://stackoverflow.com/help/how-to-ask。我只能投下恶意和粗心大意。我给你带来怀疑的好处。但抱紧别人不会那么善良。 –
用户名是'root'吗? –
当它在其他系统上工作时,它看起来像是一个sshd配置错误(至少不同)。你可以检查配置吗?你可以建立一个没有程序的连接? – xyious