Score:1

ถอดรหัส GPG: คีย์เซสชันไม่ถูกต้อง / ตัวแปรไม่ได้ตั้งค่า / เครื่องหมายอัศเจรีย์

ธง us

ฉันพยายามถอดรหัสไฟล์ gpg แต่ได้รับข้อผิดพลาดต่อไปนี้อย่างต่อเนื่อง:

gpg: การถอดรหัสล้มเหลว: คีย์เซสชันไม่ถูกต้อง

ฉันมารู้ทีหลังว่าข้อความรหัสผ่าน gpg (ซึ่งกำหนดโดยสคริปต์) มีเครื่องหมายอัศเจรีย์อยู่ในนั้น

วลีรหัสผ่าน = "my! pass"

เมื่อตั้งค่าผ่าน TTY bash จะบ่น

-bash: !pass: ไม่พบเหตุการณ์

เมื่อฉัน echo ตัวแปร จะไม่มีการตั้งค่า

user@host:~$ echo $ข้อความรหัสผ่าน

ผู้ใช้@โฮสต์:~$

ดังนั้น จึงไม่ทราบตัวแปร และฉันคิดว่านั่นเป็นสาเหตุที่ฉันไม่สามารถถอดรหัสไฟล์ของฉันได้

ฉันได้ลองต่อไปนี้เป็นรหัสผ่าน:

  • ของฉัน!
  • ของฉัน
  • !ผ่าน
  • 'ของฉัน!ผ่าน'
  • -bash: !pass: ไม่พบเหตุการณ์
  • bash: !pass: ไม่พบเหตุการณ์
  • -ทุบตี:
  • ทุบตี:
  • ไม่พบกิจกรรม

ค่อนข้างแน่ใจว่าฉันเพิ่งเรียนรู้บทเรียนที่เจ็บปวดมากที่นี่ แต่มันก็คุ้มค่าที่จะลอง

ใครสามารถช่วยด้วย:

  1. bash ทำอะไรกับตัวแปรที่ไม่ได้ตั้งค่าหากคุณพยายามใช้
  2. สคริปต์จัดการกับตัวแปรที่ไม่ได้ตั้งค่าอย่างไร
  3. มีอะไรอื่นอีกไหมที่ฉันสามารถลองใช้แทนรหัสผ่านได้
  4. มีรหัสช่องว่าง ASCII / UTF ที่ฉันสามารถลองใช้แทนรหัสผ่านได้หรือไม่
FedKad avatar
cn flag
คุณลองสตริงว่าง (`''`) หรือไม่
edooze avatar
us flag
นี่คือเหตุผลที่ฉันไม่แน่ใจ 100% ว่าตัวแปรคือปัญหา ฉันกด Enter เมื่อได้รับแจ้ง และข้อความแจ้งว่า 'ไม่มีรหัสลับ' ยุติธรรมเพียงพอ ขออภัย ฉันไม่สามารถหาวิธีเปลี่ยนสิ่งที่คิดว่ามันเป็นกุญแจได้ และมันเอาแต่พูดว่า 'ไม่มีรหัสลับ' และไม่ถามหาอีกอันหนึ่ง
sancho.s ReinstateMonicaCellio avatar
คำแนะนำนี้ใช้ได้ผลสำหรับคุณหรือไม่? กรุณาโพสต์ความคิดเห็น
Score:1

มีข้อคิดเห็นบางประการที่น่าสังเกต

  1. "... วลีรหัสผ่าน gpg (ซึ่งกำหนดโดยสคริปต์)" ฉันเข้าใจว่าคุณไม่ได้เขียนสคริปต์ ขอลงคริปนะครับ.มีคำแนะนำในการใช้งานหรือไม่?
  2. วลีรหัสผ่าน = "my! pass". นี่ไม่ได้หมายความว่า "ใช้ ! เป็นส่วนหนึ่งของสตริง" !ผ่าน หมายถึง "อ่านประวัติและรับคำสั่งสุดท้ายที่ขึ้นต้นด้วย ผ่าน". หากไม่มีคำสั่งใดในประวัติศาสตร์ที่เริ่มต้นด้วย ผ่าน, ข้อผิดพลาด bash: !pass: ไม่พบเหตุการณ์ ถูกยกขึ้นเมื่อคุณได้รับที่บรรทัดคำสั่ง นั่นเป็นเหตุผลที่ฉันเดาว่าคุณไม่ได้เขียนบท มันถูกสร้างขึ้นสำหรับกรณีที่มีคำสั่งบางอย่างในประวัติที่เริ่มต้นด้วย ผ่าน.
  3. "เมื่อตั้งค่าผ่าน TTY (และฉันคิดว่าคุณประหาร วลีรหัสผ่าน = "my! pass"), bash บ่น... เมื่อฉัน echo ตัวแปร มันไม่ได้ตั้งค่า" ตามที่กล่าวไว้ข้างต้น เกิดข้อผิดพลาดขึ้น แต่มีอีกสองสิ่งที่เกิดขึ้น: 1) คำสั่งไม่ถูกดำเนินการ นั่นคือคุณไม่ได้รับ "my" (คุณอาจคาดว่าจะได้รับ "my" = "my" + สตริงว่าง) เป็นค่าของ ข้อความรหัสผ่านมันทำให้ไม่ได้ตั้งค่า 2) คำสั่งไม่ได้ถูกเพิ่มลงในประวัติด้วยซ้ำ

สำหรับบางคำถามของคุณ:

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

ฉันไม่ทราบเกี่ยวกับปัญหาที่เหลือของคุณ แต่นี่อาจช่วยให้คุณเข้าใจปัญหาและแก้ปัญหาได้

โพสต์คำตอบ

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