Postfix

通過終端中的 openssl 連接到郵件伺服器的身份驗證錯誤

  • April 9, 2015

我已經使用 Postfix 和 Dovecot 設置了一個電子郵件伺服器,並且我能夠使用各種郵件客戶端發送和接收郵件,但由於某種原因,當我嘗試openssl在終端中連接時出現身份驗證錯誤。

這幾乎是它下降的方式:

openssl s_client -connect mail.example.com:587 -starttls smtp

$$ a connection to the server is established $$

EHLO mail.example.com
AUTH PLAIN cGFzc3dvcmQ=
535 5.7.8 Error: authentication failed:

我使用以下每一項來生成我的AUTH PLAIN消息,但沒有一個對我進行身份驗證:

echo -en '\0username\0password!'|base64

echo -en '\000username\000password!'|base64

echo -e '\0username\0password!'|base64

echo -e '\000username\000password!'|base64

我用來設置郵件伺服器的教程建議我使用:

echo -en '\000username\000password!'|base64

但這對我從來沒有用過。

我的使用者名是格式user@example.com,這在使用郵件客戶端連接到伺服器時有效。

有誰知道為什麼我可能會收到錯誤?我假設這是因為我沒有正確生成 base64 身份驗證消息,但我對 Linux 還很陌生,所以我可能會忽略一些簡單的事情。

我已經嚴格按照教程進行操作,並且多次仔細檢查了我的設置。除了一個問題,其他一切都按預期工作。

伺服器正在執行 Debian 7(64 位),教程在這裡:https ://www.howtoforge.com/tutorial/build-your-own-cloud-on-debian-wheezy/

謝謝。

大多數設置都在使用者名中包含域。(至少我的大部分人。)嘗試:

echo -ne '\0username@domain.com\0password!'|base64

您也可以嘗試 PERL 方法:

perl -MMIME::Base64 -e 'print encode_base64("\000user\@domain.com\000password")'

引用自:https://serverfault.com/questions/679370