当前位置: 首页>>技术教程>>正文


如何执行AUTH DIGEST-MD5 CRAM-MD5命令行SMTP身份验证

, ,
此配置将描述通过telnet使用AUTH DIGEST-MD5 CRAM-MD5加密身份验证方法登录SMTP服务器的过程。首先,我们需要安装所有先决条件:


# apt-get install telnet sasl2-bin

使用telnet命令,我们将连接到SMTP服务器。的sasl2-bin包装内含gen-auth命令,我们将使用该命令来生成对服务器身份验证质询的BASE64编码响应。让我们开始使用telnet连接到我们的服务器的命令:


$ telnet 10.1.1.11 25
Trying 10.1.1.11...
Connected to 10.1.1.11.
Escape character is '^]'.
220 mail.localhost.localdomain ESMTP Postfix (Ubuntu)

现在我们已连接。下一步是检查服务器支持哪些身份验证方法:


EHLO testing
250-mail.localhost.localdomain
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-c
250-AUTH=DIGEST-MD5 CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

从上面的输出中,我们可以看到服务器能够AUTH DIGEST-MD5 CRAM-MD5登录身份验证。使用时AUTH DIGEST-MD5 CRAM-MD5身份验证方法在服务器和客户端之间不交换普通密码。而是,服务器为客户端生成一个one-time BASE64编码的”challenge”。让我们首先生成一个挑战问题:


AUTH CRAM-MD5
334 PDU3NjQ0Mzc2Mi4zMjkwNzRAbWFpbC5saW51eGNvbnN1bHRpbmcuY29tLmF1Pg==

现在使用一个单独的终端,我们将使用gen-auth使用身份验证方法,用户名和密码作为参数生成响应的命令:


# gen-auth CRAM-MD5 This email address is being protected from spambots. You need JavaScript enabled to view it.n mypassword
challenge: PDU3NjQ0Mzc2Mi4zMjkwNzRAbWFpbC5saW51eGNvbnN1bHRpbmcuY29tLmF1Pg==
bHVib3NAbGludXhjb25zdWx0aW5nLmNvbS5hdSBiZWY2Mjk3OGY0OWUyN2E1NmJhMjMyNTJkMmZlNTc4MA==

接下来,我们简单地回答由生成的BASE64编码的字符串gen-auth命令:


AUTH CRAM-MD5
334 PDU3NjQ0Mzc2Mi4zMjkwNzRAbWFpbC5saW51eGNvbnN1bHRpbmcuY29tLmF1Pg==
bHVib3NAbGludXhjb25zdWx0aW5nLmNvbS5hdSBiZWY2Mjk3OGY0OWUyN2E1NmJhMjMyNTJkMmZlNTc4MA==
235 2.7.0 Authentication successful

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10684.html,未经允许,请勿转载。