# การเข้าถึง SSH ผ่านพร็อกซี SUMMARY: เอเจนต์ LLM รันคำสั่งบนเครื่องระยะไกลอย่างปลอดภัยผ่าน API พร็อกซี SSH แทนคีย์ SSH ดิบอย่างไร KEY CONTEXT: อย่าเก็บคีย์ส่วนตัว SSH ดิบในฐานะ LLM โดยเด็ดขาด ใช้ SSH-proxy HTTP API: 1) POST /connect?target= → session_id (ถาวร อยู่ได้หลายชั่วโมง) 2) POST //exec {command, timeout} → exec_id 3) GET //exec/ → เอาต์พุตเมื่อเสร็จ 4) ใช้เอนด์พอยต์ SFTP สำหรับอัป/ดาวน์โหลดไฟล์แทน cat/heredoc เป้าหมายเป็นชื่อที่ลงทะเบียนล่วงหน้า (เช่น "vps1") ไม่ใช่ IP — พร็อกซีคือ ที่เดียวที่ข้อมูลประจำตัวอาศัยอยู่ การเข้าถึง SSH ผ่านพร็อกซี เอเจนต์ต้องรันคำสั่งบนเครื่องระยะไกล — ดีพลอยคอนเทนเนอร์ อ่านล็อก แก้คอนฟิก การส่งคีย์ส่วนตัว SSH ดิบให้ LLM เป็นความคิดที่ไม่ดี: คีย์ลงเอยในหน้าต่างบริบท ล็อก และบันทึกถอดความ พร็อกซี SSH แก้ปัญหานี้: มันเป็นผู้ถือข้อมูลประจำตัว เอเจนต์พูดแค่ HTTP โมเดล [CODE BLOCK] พร็อกซีเปิดเผยเซสชันถาวรด้วยพื้นผิว REST ที่เรียบง่าย: | เอนด์พอยต์ | วัตถุประสงค์ | |---|---| | | เปิดเซสชัน → | | | รันคำสั่ง (async) → | | | สำรวจเอาต์พุต | | เอนด์พอยต์ SFTP | อัป/ดาวน์โหลดไฟล์, , , | การยืนยันตัวตนเป็น Bearer token — รูปแบบเดียวกับทุก API อื่นที่คุณใช้ รูปแบบการดำเนินการ [CODE BLOCK] กฎการปฏิบัติ 1. ใช้เซสชันซ้ำ การเชื่อมต่อต่อคำสั่งเปลืองทรัพยากรและกระตุ้นขีดจำกัดอัตรา เก็บ (เช่น ) และส่ง heartbeat ก่อนใช้ซ้ำ 2. ตั้งชื่อเป้าหมาย อย่าไปค้นมัน เป้าหมายลงทะเบียนล่วงหน้า (, , …) พร็อกซีคือแหล่งความจริงเดียว — ห้ามฮาร์ดโค้ดที่อยู่ IP ในโค้ดเอเจนต์ 3. เลือก SFTP มากกว่า cat/heredoc ของเชลล์สำหรับไฟล์ การหนีบีบข้อมูลไบนารีผ่าน ทำให้เพย์โหลดเสียหาย ใช้เอนด์พอยต์อัป/ดาวน์โหลดเฉพาะทาง 4. อ้างคำสั่งของคุณ ตัว JSON ถูกแยกวิเคราะห์สองครั้ง (HTTP + เชลล์) ห่อคำสั่งระยะไกลด้วยเครื่องหมายคำพูดเดี่ยวและคงเป็นบรรทัดเดียว 5. สมมติว่ามีการตรวจสอบ ทุก exec ลงในบันทึกการตรวจสอบของพร็อกซี — ปฏิบัติตัวเหมือนมนุษย์อ่านทุกอย่าง (เขาทำได้) เมื่อไรไม่ควรใช้ exec - อ่านสถานะที่มีโครงสร้างซึ่งมี API (Docker, ฐานข้อมูล, Mind API ของ Synapse) — เลือก API มากกว่าการแยกวิเคราะห์เอาต์พุต CLI เสมอ - กระบวนการเชิงโต้ตอบที่ใช้เวลานาน เป็น fire-and-forget ที่มีหมดเวลา; ใช้ + ไฟล์สถานะบนเป้าหมายแทน - สิ่งทำลายล้างอะไรก็ตามโดยไม่มีคำสั่งชัดเจน พร็อกซีให้พลังแก่คุณ — มนุษย์ให้การอนุญาตแก่คุณ การกู้คืนจากข้อผิดพลาด | อาการ | วิธีแก้ | |---|---| | 401 ตอน connect | โทเคนหมดอายุ — อ่านใหม่จาก memory/settings ไม่เคยจากบันทึกถอดความ | | เซสชัน 404 | เซสชันหมดอายุ (จำกัด 24 ชม.) — เชื่อมต่อใหม่ | | exec หมดเวลา | เพิ่ม หรือแยกคำสั่ง; ตรวจโหลดของเป้าหมาย | | เนื้อหาไฟล์เสียหาย | คุณใช้ แทน SFTP — เปลี่ยนไปใช้เอนด์พอยต์ SFTP |