คุณอาจเจอ error “could not open a connection to your authentication agent” ตอนพยายาม add key passphrase ด้วย ssh-add command ปัญหานี้มักเกิดจาก ssh-agent ไม่ได้ assigned ถูกต้อง เพราะฉะนั้นหลายคนเจอในสถานการณ์แปลกๆ
เช่น อาจเจอตอนใช้ RaspberryPi รัน Raspbian, embedded router ที่มี command prompt, หรือ Android Linux terminal แก้ได้ง่ายด้วยคำสั่งเดียว ไม่ต้องเล่นกับอะไรมาก ไม่ว่าอุปกรณ์ไหนหรือ shell ไหนก็ตาม
แก้ Authentication Agent Errors
สมมติว่า ssh-agent รันอยู่แล้ว ไม่ต้อง start ใหม่ ลอง add key passphrase ด้วย ssh-add จาก command line ตอนรัน มักได้ error “Could not open a connection to your authentication agent” พร้อมไม่มี text อื่น มันไม่ช่วยให้หาคำตอบง่าย หลายคนเล่นนานกว่าจะหาเจอ
ก่อนอื่น เช็คว่าเชื่อมต่อ internet หรือ network protocol ที่ใช้อยู่จริง เพราะอาจแค่ไม่ได้เชื่อม network โดยเฉพาะ non-standard LAN equipment ที่ใช้ ssh ผ่าน private network แทน Ethernet/Wi-Fi
ตรวจสอบว่าเชื่อมต่อแล้ว ลองใช้ ssh-add ~/.ssh/id_rsa แทนชื่อไฟล์ด้วย key จริงที่พยายามเพิ่ม (เราตั้งชื่อ key บน test machine เป็น ~/.ssh/id_rsa ตัวอย่าง คุณอาจชื่อต่าง) อาจได้ prompt “Enter passphrase” (silent เช่น Linux virtual terminal) ถ้ายอมรับ passphrase แล้ว OK ไม่ต้องทำเพิ่ม
แต่ถ้าได้ error “Could not open a connection to your authentication agent” อีก agent ต้อง reassignment เต็มรูปแบบ ถ้าใช้ regular shell รัน ssh-agent /bin/sh แล้ว ssh-add ~/.ssh/id_rsa (แทนชื่อ key ใหม่) จะได้ prompt ผู้ใช้ pure bash ที่ไม่สนใจ “bashisms” ใน ssh client ใช้ ssh-agent bash แล้ว ssh-add command ผู้ส่วนใหญ่มี bash ใน path ของ root และ regular users ไม่ต้องทำเพิ่ม
User ของ fish-shell ลอง ssh-agent /usr/bin/fish แล้ว ssh-add ~/.ssh/id_rsa ข้างต้นใช้ได้กับ Bourne, bash, Almquist shells ในกรณีส่วนใหญ่ ถ้า C-Shell หรือ tcsh อาจเจอปัญหา
ถ้าอยู่ในสถานการณ์นี้ ลอง eval ‘ssh-agent -c’ ตามด้วย ssh-add ~/.ssh/id_rsa เพื่อ register shell agent เพราะ tcsh ทำงานต่างออกไป แต่วุฒิ embedded systems ส่วนใหญ่ไม่มี ถ้าทำงานแล้ว ไม่ต้องทำเพิ่ม ถ้าพิมพ์ผิด รันคำสั่งใหม่ได้ เพราะไม่ destructive
ขึ้นกับ configuration อาจต้องทำทุกครั้งที่ login ssh หลัง restart แต่ปัญหาแก้ได้ง่ายด้วยคำสั่งเดียว ไม่ต้องนั่งเล่นต่อ
ABOUT THE AUTHOR

Kevin Arrows
Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์มากกว่า 10 ปี ได้รับการรับรอง Microsoft Certified Technology Specialist (MCTS) มีความหลงใหลในการอัปเดตเทคโนโลยีล่าสุด เขียนบทความเกี่ยวกับหัวข้อเทคโนโลยีกว้างขวาง แสดงความเชี่ยวชาญในด้านการพัฒนาซอฟต์แวร์ ความปลอดภัยไซเบอร์ และ Cloud Computing ได้รับการยอมรับและเคารพจากเพื่อนร่วมงาน สามารถอธิบายแนวคิดทางเทคนิคที่ซับซ้อนได้อย่างชัดเจนและกระชับ