Я пытаюсь установить соединение с помощью libssh (https://www.libssh.org/) к машине с установленной операционной системой SUSE Enterprise.
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 Generic и CentOS.
Спасибо
Проверьте /etc/ssh/sshd_config
, Вы должны найти PermitRootLogin forced-command-only
где-то там Установите это в yes
и ваша проблема должна исчезнуть. Пожалуйста, имейте в виду, что есть причина, по которой люди решили не разрешать по умолчанию вход пользователя / пользователя root по умолчанию.
Других решений пока нет …