SSHD пропускает аутентификацию PAM - PullRequest
0 голосов
/ 03 декабря 2018

Я разработал модуль PAM для аутентификации и хочу, чтобы SSH использовал его.Я положил его на вершину стека /etc/pam.d/sshd, но он не вызывается.Я точно знаю, что модуль работает, потому что я интегрировал его в логин.

Как мне установить / etc / ssh / sshd_config для его использования?

Редактировать: UsePAM уже имеет значение yes, пробовал также все возможные комбинации ChallengeResponseAuthenticationи PasswordAuthentication yes и no значения.

1 Ответ

0 голосов
/ 03 декабря 2018

Это была моя ошибка: модуль на самом деле вызывался, но он пытался прочитать строку с консоли.Хотя это работает при входе в систему, в SSH это невозможно.Правильный способ сделать это - использовать

const char *username = NULL;
const char *password = NULL;

pam_get_item(pamh, PAM_USER, (const void **)&username);
pam_get_item(pamh, PAM_AUTHTOK, (const void **)&password);

. Это установит username и password со значениями, полученными SSH.Чтобы получить пароль, установите PasswordAuthentication на yes в /etc/ssh/sshd_config и в etc/pam.d/sshd, замените @include common-auth на auth required your-module

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...