Можно ли настроить VPN-сервер на Linux для аутентификации с помощью PAM или passwd с клиентами Android и Windows?

Можно ли настроить VPN-сервер на Linux для аутентификации с помощью PAM или passwd с клиентами Android и Windows?

У меня есть сервер Linux и мне нужно подключиться к его сети удаленно с клиентов Windows 10 и Android. Можно ли настроить сервер так, чтобы клиенты могли аутентифицироваться по учетным записям пользователей на машине Linux с помощью имен пользователей и паролей?

Я хотел бы использовать IKEv2 для этого, но это не обязательно, если есть лучшее решение. Я уже пробовал настроить strongSwan и добился успеха с использованием клиентских сертификатов. Мне также удалось заставить freeRadius аутентифицироваться по /etc/passwd, но не удалось передать имя пользователя и пароль из strongSwan в freeRadius. Это правильный способ?

Я обновлю этот вопрос, если/когда будут сделаны предложения.

решение1

Проблема в том, что большинство методов EAP, использующих имя пользователя/пароль, не будут передавать пароли в виде открытого текста. Вместо этого они используют своего рода протокол вызова/ответа с некоторым хешем/шифрованием, вычисляемым как клиентом, так и сервером, что обычно требует, чтобы сервер уже обладал открытым паролем (если только метод не основан на доказательствах пароля с нулевым разглашением), а не его хешированной версией, которая хранится в /etc/passwd.

Единственный метод, поддерживаемый strongSwan, который использует незашифрованные пароли, — этоEAP-GTC, но поддержка клиентов ограничена (я также не знаю, работает ли он с FreeRADIUS, но strongSwan может напрямую взаимодействовать с PAM). По сути, только strongSwan использует его таким образом, поэтому Android с приложением strongSwan будет работать нормально, но Windows не поддерживает этот метод.

Связанный контент