У меня есть сервер Linux, и мне нужно удаленно подключаться к его сети с клиентов Windows 10 и Android. Можно ли настроить сервер так, чтобы клиенты могли аутентифицироваться в учетных записях пользователей на машине Linux с именами пользователей и паролями?
Я хотел бы использовать для этого IKEv2, но в этом нет необходимости, если есть лучшее решение. Я уже пробовал настроить strongSwan и успешно использовал клиентские сертификаты. Мне также удалось заставить freeRadius аутентифицироваться в / etc / passwd, но не смог передать имя пользователя и пароль от strongSwan к freeRadius. Это правильный способ сделать это?
Я обновлю этот вопрос, если / когда будут внесены предложения.
Проблема в том, что большинство EAP-методов, использующих имя пользователя/пароль, не передают текстовые пароли. Вместо этого они используют какой-то протокол вызова/ответа с некоторым хэшем/шифрованием, вычисленным как клиентом, так и сервером, который обычно требует, чтобы сервер уже обладал текстовым паролем (если только метод не основан на подтверждении пароля нулевым знанием), а не его хэш-версией, как она хранится в /etc/passwd
.
Единственный метод, поддерживаемый strongSwan, который использует plaintext пароли, это EAP-GTC, но поддержка клиента ограничена (я также не знаю, работает ли он с FreeRADIUS, но strongSwan может напрямую взаимодействовать с PAM). В принципе, только strongSwan использует его таким образом, так что Android с приложением strongSwan будет отлично работать, но Windows не поддерживает этот метод.
.