อักขระพิเศษในรหัสผ่าน ssmtp


14

ฉันมี+และ=ตัวละครในรหัสผ่าน gmail ของฉัน ฉันssmtpจะกำหนดค่าเพื่อหลีกเลี่ยงข้อผิดพลาดการอนุญาตได้อย่างไร

ของฉัน/etc/ssmtp/ssmtp.conf:

root=username@gmail.com
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=1234+=5678
FromLineOverride=YES
UseTLS=YES
hostname=skynet

ฉันจะเรียกใช้ssmtp:

$ echo "email content" | mail -s "email subject" otherMail@gmail.com
send-mail: Authorization failed (535 5.7.1
http://support.google.com/mail/bin/answer.py?answer=14257
hz16sm4385885lab.6)

1
ข้อผิดพลาดเกิดขึ้นในโปรแกรมใด กรุณาให้บริบทกับเรา ความกะทัดรัดเป็นสิ่งที่ดี แต่มันก็ยังใช้งานได้อีกเล็กน้อย
ผู้ใช้ 99572 ใช้ได้

ฉันแนบข้อมูลเพิ่มเติมกับคำถาม
Jofsey

คุณลองใช้เครื่องหมายคำพูดเดี่ยว ๆ ซึ่งเหมาะกับคุณไหม
Suyash Jain

ข้อผิดพลาดอยู่ที่github.com/ajwans/sSMTP/blob/master/ssmtp.c#L913ฉันจำได้ว่าฉันส่งแพตช์กลับมาในปี 2010 ... ไม่มีใครใส่ใจ ฉันคิดว่ามันเป็นคุณสมบัติมากกว่าข้อผิดพลาด!
เดวิดเอส

คำตอบ:


5

ยังคงมีข้อบกพร่องจำนวนหนึ่งที่เกี่ยวข้องกับอักขระพิเศษในAuthPassบรรทัดใน/etc/ssmtp/ssmtp.confไฟล์:

https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=ssmtp#_0_3_4

รายงานข้อบกพร่องเหล่านี้มีไว้สำหรับssmtpหน้าใน Debian โดยเฉพาะ แต่อาจนำไปใช้กับผู้อื่น

  • บันทึกรายงานข้อผิดพลาดของเดเบียน - # 463196 : ssmtp ไม่สามารถแยกวิเคราะห์ AuthPass ด้วย '=' หรือ ':' อยู่ข้างใน
  • บันทึกรายงานข้อบกพร่องของเดเบียน - # 768129 : ssmtp: ปัญหาเดียวกันกับ "#"

ตามบันทึกรายงานเหล่านี้บรรทัดที่มีตัวละคร=, :หรือ#จะข้ามไปอย่างใดอย่างหนึ่งอย่างสิ้นเชิงหรือประมวลผลในทางที่จะเอาส่วนหนึ่งของรหัสผ่านในด้านขวามือของตัวละครเหล่านี้

กล่าวอีกนัยหนึ่งขณะนี้ยังไม่มีวิธี "หลบหนี" อักขระพิเศษเหล่านี้ในAuthPassบรรทัด


จากบันทึกย่อด้านข้างมีอุปกรณ์จำนวนมากเช่นเครื่องพิมพ์ไร้สายภายในบ้านซึ่งจำเป็นต้องป้อนรหัสผ่านในแผงตัวเลขซึ่งคล้ายกับที่ใช้กับโทรศัพท์ อุปกรณ์เหล่านี้มีอักขระพิเศษบางตัว แต่ไม่สามารถเลือกได้

สำหรับสถานการณ์เช่นนี้คุณถูกบังคับให้ปรับรหัสผ่านสำหรับอุปกรณ์

รหัสผ่านที่ยาวกว่าประกอบด้วยตัวอักษรและตัวเลขเป็นรหัสที่สั้นกว่าและมีเครื่องหมายวรรคตอนมากกว่า


คำถามนี้ถูกถามและตอบได้ดีมากในหน้าต่อไปนี้:

อักขระใดบ้างที่ผิดกฎหมายในรหัสผ่านใน ssmtp.conf


@Hugo นั่นอาจเป็นหัวข้อที่ดีสำหรับคำถามอื่น: superuser.com/help/how-to-askหากคุณพบบางสิ่งหรือโพสต์ของคุณเองอย่าลังเลที่จะแสดงความคิดเห็นอื่นที่นี่เพื่อเชื่อมโยงกับมัน
JonathanDavidArndt

ผู้ดูแลควรพิจารณาดำเนินการกับรายการไฟล์กำหนดค่าตาม Urlencoded เหมือนในแพ็คเกจอื่น ๆ
แก่เก่า

1

คุณสามารถใช้วิธีแก้ไขปัญหาต่อไปนี้:

feed the password directly in the command line argument

ssmtp -ap "แฮช # รหัสผ่าน" ...

alternatively put the password in an environment variable.

ssmtp -ap $ PASSWD ...

หวังว่ามันจะช่วย


-1

คำตอบนั้นขึ้นอยู่กับบริบทที่คุณป้อนหรือส่งรหัสผ่าน ในบางรูปแบบคุณสามารถล้อมรอบรหัสผ่านของคุณในรูปแบบ""อื่น ๆ ที่คุณจำเป็นต้องหลีกเลี่ยงอักขระที่ละเมิด นี้ตัวหนีแตกต่างระหว่างโปรแกรม, หอย, ระบบปฏิบัติการอื่น ๆ ใน Windows สคริปต์ชุดหลบหนีคือขณะที่อยู่ในลินุกซ์หรือขั้วสถานการณ์บางอย่างหลบหนีคือ^\


1
ฉันพยายามจัดเก็บรหัสผ่านใน 1234\+\=5678รูปแบบ แต่ได้รับข้อผิดพลาดเดียวกัน
Jofsey

1
บริบทคือ ssmtpแพ็คเกจไม่ใช่ SMTP โดยทั่วไป
Kenny Evitt

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.