Можно ли настроить 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 не поддерживает этот метод.