Exim4 SMTP AUTH 535 잘못된 인증 데이터 디버깅 도움말

Exim4 SMTP AUTH 535 잘못된 인증 데이터 디버깅 도움말

나는 팔로우한다이 가이드TLS 및 인증을 설정합니다. 사용자 이름(usr)과 비밀번호(pwd)를 설정했으며 /etc/exim4/passwd파일에 올바른 권한이 있습니다.

-rw-r----- 1 root        Debian-exim    51 Oct 16 13:11 passwd

파일에서 해당 줄의 일반 텍스트 부분을 제거하고 다음을 실행하면:

htpasswd -vb passwd usr pwd

그러면 나는 좋은 것을 얻습니다

Password for user usr correct.

그러나 다음을 시도하여 openssl s_client -connect $HOST:25 -starttls smtp붙여넣으세요.

ehlo test
250-example.org Hello example.org [1.2.3.4] ← Clearly, redacted…
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN
250-CHUNKING
250-PRDR
250 HELP

auth plain AHVzcgBwd2Q=
535 Incorrect authentication data

base64를 가져온 위치:

echo -ne '\0usr\0pwd' | base64
AHVzcgBwd2Q=

나는 systemctl restart exim4.service그것을 update-exim4.conf여러 번 실행했습니다.

이것을 디버깅하는 방법은 무엇입니까?

답변1

문서 거짓말그러니 듣지 마세요.

필요한 것은 plain_server드라이버의 주석 처리를 제거하고 쓰레기를 conf.d/auth/30_exim4-config_examples주석 처리하는 것입니다 .plain_saslauthd_serverlogin_saslauthd_serversaslauth 드라이버가 작동하지 않습니다.

그 이후부터는 예상대로 작동할 것입니다.

원천.

답변2

이것은 나에게 잘 작동합니다.

login_saslauthd_server:
   driver = plaintext
   public_name = LOGIN
   server_prompts = "Username:: : Password::"
   # don't send system passwords over unencrypted connections
   server_condition = ${if saslauthd{{${local_part:$auth1}}{$auth2}{}{${domain:$auth1}}}{1}{0}}
   server_set_id = $auth1
#   .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
   server_advertise_condition = ${if eq{$tls_in_cipher}{}{}{*}}
#   .endif

관련 정보