คนจรจัด: รอการแจ้งจากเชลล์ระยะไกล


3

ฉันมีปัญหากับคนจรจัดกับโฮสต์ที่เฉพาะเจาะจงเมื่อฉันใช้ ssh-keys สำหรับการตรวจสอบ มันทำงานได้ดีเมื่อฉันไม่ได้ใช้การพิสูจน์ตัวตนของ ssh-key แต่ฉันต้องการป้องกันการป้อนรหัสผ่านตลอดเวลา

ไม่ทราบว่าเกี่ยวข้องหรือไม่ แต่ฉันใช้ zsh สำหรับเชลล์

ฉันได้ปฏิบัติตามทั้งเคล็ดลับของการตั้งค่าจรจัด chunksize เป็น 500 และเพิ่มรหัสต่อไปนี้เพื่อ. zshrc:

if [[ "$TERM" == "dumb" ]]
then
  unsetopt zle
  unsetopt prompt_cr
  unsetopt prompt_subst
  unfunction precmd
  unfunction preexec
  PS1='$ '
fi

แต่มันใช้งานไม่ได้และมันยังคงห้อยอยู่กับข้อความ Tramp: กำลังรอการแจ้งจากเชลล์ระยะไกล

ความคิดเห็นเกี่ยวกับวิธีป้องกันปัญหาที่น่ารำคาญนี้ ขอบคุณ


คุณควรพูดถึงระบบปฏิบัติการและเวอร์ชั่นของ Emacs ในกรณีนี้ และวิธีที่คุณป้อนรหัสผ่านคีย์ ssh ของคุณ (ถ้ามี) มีความเกี่ยวข้อง
Gilles

คำตอบ:


6

สำหรับฉัน Tramp 2.1.19-pre กับการพิสูจน์ตัวตน zsh และ SSH kye ใช้งานได้

(setq tramp-shell-prompt-pattern "^[^$>\n]*[#$%>] *\\(\[[0-9;]*[a-zA-Z] *\\)*")

ใน ~ / .emacs ของฉัน


3

ฉันไม่เห็นว่าเชลล์ระยะไกลของคุณอาจมีปัญหาได้อย่างไรหากคนจรจัดทำงานกับการตรวจสอบรหัสผ่าน แต่ไม่ได้มีการตรวจสอบสิทธิ์ที่สำคัญ

คำอธิบายที่เป็นไปได้คือsshไม่เห็นเอเจนต์ ssh ของคุณเมื่อคุณเรียกใช้จากภายใน Emacs คุณสามารถเข้าสู่ระบบเครื่องระยะไกลโดยใช้กุญแจของคุณด้วยsshจากM-x shellหรือM-x termบัฟเฟอร์? หากคีย์ของคุณมีข้อความรหัสผ่านคุณsshจำเป็นต้องได้รับคีย์ถอดรหัสอย่างใด สามารถแจ้งให้คุณทราบได้โดยตรง (แต่ฉันไม่แน่ใจว่าคนจรจัดจะให้รหัสผ่านหรือไม่) หรือสามารถเรียกใช้โปรแกรมภายนอกเพื่อแจ้งให้คุณทราบถึงกุญแจ (จำเป็นต้องSSH_ASKPASSตั้งค่าตัวแปรสภาพแวดล้อม) หรืออาจได้รับ คีย์จากเอเจนต์ ssh ของคุณ (ต้องใช้ตัวแปรสภาวะแวดล้อมSSH_AUTH_SOCKในการตั้งค่า) ปัญหาของคุณอาจเป็นเพราะคุณไม่ได้ตั้งค่าSSH_ASKPASSหรือSSH_AUTH_SOCKอยู่ในตำแหน่งที่ถูกต้องดังนั้นจึงไม่ได้กำหนดไว้ในเซสชัน Emacs ของคุณ


มันทำงานได้กับทั้ง Mx เชลล์และคำ Mx คนจรจัดบันทึกคำสั่ง 'ssh <hostname> -l <username> -q -e none && exit || exit '(ซึ่งทำงานได้ดีกับ Mx shell หรือ Mx term)
กรัม

3

คำถามได้รับคำตอบแล้ว แต่สำหรับคนที่สะดุดสิ่งนี้อย่าลืมตรวจสอบว่าเชลล์ของคุณอาจขอให้ผู้ใช้ป้อนข้อมูลใด ๆ ก่อนที่จะแสดงเชลล์ ตัวอย่างเช่นoh-my-zshตรวจสอบการอัปเดตและขอคำยืนยันก่อนติดตั้งเมื่อเริ่มต้นเชลล์ สิ่งนี้จะทำให้คนจรจัดรออย่างไม่สิ้นสุดเพื่อให้แน่ใจว่าการเข้าสู่ระบบเป็นไปอย่างราบรื่นเมื่อคุณ ssh ก่อนที่จะลงไปที่ rabithole คนจรจัด

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