PPTP утверждает, что пароль неверный: какое исправление делать первым?
Отклонённый пароль PPTP обычно означает несовпадение метода PPP, а не плохой секрет. Сначала прочитайте согласование, затем выберите наименьшее исправление, которое держится.
Профили PPTP, которые настаивают, что пароль неверный, сообщают нечто более узкое, чем кажется. Секрет проверяется в самом конце цепочки, начинающейся с согласования возможностей, поэтому любое несовпадение раньше в этой цепочке проявляется как ошибка аутентификации. Поэтому сброс пароля, повторный ввод или пересоздание профиля ничего не меняют. Сначала прочитайте согласование, затем выберите исправление по тому, какую часть пути вы контролируете.
Почему секрет никогда не проверяется
Аутентификация PPP согласуется: сервер предлагает методы, клиент отвечает тем, что умеет, и обе стороны договариваются об одном до того, как обмениваются какие-либо учётные данные. Когда сервер предлагает только EAP-PEAP, а pppd клиента его не реализует, разговор заканчивается на этапе предложения. Сервер записывает ошибку аутентификации, потому что это тот этап, который не прошёл, а не потому, что пароль сравнили и признали недостаточным.
Поэтому ошибка одинакова и для неверного пароля, и для несовпадения метода. Только журнал различает их, и только если клиенту разрешено быть подробным.
Читайте согласование, а не последнюю ошибку
Запустите соединение на переднем плане с включённой отладкой и читайте строки аутентификации сверху. Журнал называет предложенный метод, принятый метод и место, где обмен остановился. Профиль, который никогда не выходит из CHAP или MSCHAPv2, пока сервер ждёт PEAP, — это проблема метода, а не учётных данных. Последняя строка этого журнала — там, где клиент сдался, а не там, где находится причина.
sudo pppd call provider debug nodetachСохраните этот вывод. Он же и доказательство, нужное владельцу сети перед изменением политики сервера, и он решает вопрос, участвовал ли пароль вообще.
Вторая причина прячется в файле секретов
Если журнал показывает, что методы совпадают, посмотрите на файл, который хранит секрет. Переход строки или замыкающий пробел, записанные в поле пароля, отправляются как часть пароля, поэтому сервер сравнивает другую строку, не ту, что вы ввели. В редакторе файл выглядит правильно, и именно поэтому это переживает столько попыток.
sudo cat -A /etc/ppp/chap-secretsЗнак доллара отмечает конец каждой строки в этом выводе. Поле пароля с чем-то перед этим знаком или случайный пробел между полями нужно переписать с кавычками, которые документирует инструмент.
Выбирайте исправление по тому, кому принадлежит сервер
Если сервер ваш, разрешение MSCHAPv2 для этой учётной записи — это наименьшее изменение, и вам стоит записать, что вы сознательно приняли более слабый метод. Если он чужой, честное исправление — клиент, реализующий EAP-PEAP; правка pppd делает несовместимость вашей проблемой обслуживания. Если выбор протокола ещё открыт, PPTP — самая слабая часть архитектуры, и миграция обычно дешевле, чем поддерживать пропатченный клиент в живых. Запишите это решение рядом с профилем, чтобы следующий человек не открыл его заново.
Какой бы путь вы ни выбрали, после этого проверьте со второй машины в другой сети. Сохранённый профиль может продолжать предлагать старый метод и заставлять исправленный сервер выглядеть сломанным. Затем уберите настройку отладки, поскольку подробные журналы PPP на общей рабочей станции могут записать больше, чем вы хотите.