การลงชื่อเข้าด้วย OAuth ระยะไกลผ่าน SSH
การลงชื่อเข้าด้วย OAuth ระยะไกลผ่าน SSH — คู่มือที่เข้าใจง่ายอ้างอิงจากเอกสารอย่างเป็นทางการ
ลองนึกภาพว่านี่คือการใช้กุญแจบ้านของคุณไปไขประตูโรงรถของเพื่อน—เพียงแต่กุญแจนั้นคือการเชื่อมต่อ SSH ของคุณ และประตูโรงรถก็คือคลังโค้ดส่วนตัวที่ต้องได้รับอนุญาตจากคุณถึงจะเข้าไปได้
เกิดอะไรขึ้นตรงนี้?
เมื่อคุณรันคำสั่ง hermes profile install เฮอร์มีส เอเจนต์จำเป็นต้องดึงโปรไฟล์ (ชุดคำสั่งและเครื่องมือ) จากรีโมท Git repository แต่เซิร์ฟเวอร์ Git หลายแห่ง (เช่น GitHub, GitLab หรือเซิร์ฟเวอร์ภายในบริษัทของคุณ) กำหนดให้คุณต้องพิสูจน์ตัวตนก่อนที่จะอนุญาตให้ดาวน์โหลดอะไรก็ได้
โดยปกติแล้ว คุณจะต้องพิมพ์ชื่อผู้ใช้และรหัสผ่าน หรือตั้งค่า personal access token ซึ่งเป็นเรื่องยุ่งยาก SSH Remote OAuth Sign-In ช่วยให้เฮอร์มีสใช้คีย์ SSH ที่คุณมีอยู่แล้ว (ซึ่งคุณใช้เพื่อเชื่อมต่อกับเซิร์ฟเวอร์อย่างปลอดภัยอยู่แล้ว) ในการลงชื่อเข้าสู่ระบบโดยอัตโนมัติสำหรับการดาวน์โหลดครั้งเดียวนี้ ไม่ต้องใช้รหัสผ่านเพิ่มเติม ไม่ต้องคัดลอกโทเค็น
สองคำสั่งที่คุณจะได้ใช้จริง
นี่คือความมหัศจรรย์ คุณสามารถติดตั้งโปรไฟล์ได้โดยใช้ URL แบบ SSH หรือ URL แบบ HTTPS มาตรฐาน
ตัวเลือกที่ 1: URL แบบ SSH (เช่น GitHub)
hermes profile install git@github.com:you/research-bot.git
git@github.com:บอกเฮอร์มีสว่า: “ใช้คีย์ SSH ของฉันเพื่อคุยกับ GitHub”you/research-bot.gitคือพาธไปยัง repository ของโปรไฟล์คุณ
ตัวเลือกที่ 2: URL แบบ HTTPS (สำหรับเซิร์ฟเวอร์ของบริษัทหรือ GitLab)
hermes profile install https://git.example.com/team/research-bot.git
- เฮอร์มีสจะตรวจพบว่ามันคือลิงก์ HTTPS แต่เนื่องจากคุณได้ตั้งค่า SSH บนเครื่องของคุณแล้ว มันจะพยายามใช้ข้อมูลประจำตัว SSH ของคุณโดยอัตโนมัติ สำหรับการจับมือ OAuth ไม่มีการแจ้งเตือน ไม่มีหน้าจอเข้าสู่ระบบเพิ่มเติม
วิธีการทำงาน (แบบไม่ต้องง้อศัพท์เทคนิค)
- คุณรันคำสั่ง – เฮอร์มีสเห็น URL และรู้ว่ามันต้องดาวน์โหลดโปรไฟล์
- เฮอร์มีสตรวจสอบคีย์ SSH ของคุณ – มันจะมองหาคีย์เริ่มต้นของคุณ (โดยปกติคือ
~/.ssh/id_rsaหรือid_ed25519) - มันส่ง “คำขอลงชื่อเข้าใช้” – แทนที่จะถามรหัสผ่านจากคุณ มันใช้คีย์ SSH ของคุณเป็นหลักฐานยืนยันตัวตนไปยังเซิร์ฟเวอร์ Git
- เซิร์ฟเวอร์ตอบว่า “โอเค นายคือนายจริง” – เซิร์ฟเวอร์อนุญาตการเข้าถึงชั่วคราวเฉพาะการดาวน์โหลดครั้งนั้นเท่านั้น
- ติดตั้งโปรไฟล์ – ไฟล์ถูกดึงมา และเซสชันสิ้นสุดลง ไม่มีการเก็บรหัสผ่าน ไม่มีโทเค็นค้างอยู่
ทำไมสิ่งนี้ถึงดีสำหรับมือใหม่
- หมดปัญหาปวดหัวกับ “โทเค็นหมดอายุ” – คุณตั้งค่า SSH แค่ครั้งเดียว แล้วมันก็ใช้ได้ตลอดไป
- จำรหัสผ่านน้อยลงหนึ่งอัน – คุณไม่ต้องพิมพ์รหัสผ่าน Git ลงในเฮอร์มีสอีกเลย
- ปลอดภัยกว่า – รหัสผ่านของคุณไม่เคยถูกส่งไปถึงเฮอร์มีส มีเพียงคีย์ที่เข้ารหัสแล้วเท่านั้นที่ถูกใช้
- ใช้ได้กับ repository ส่วนตัว – หากโปรไฟล์ของคุณอยู่ใน repository ส่วนตัว วิธีการลงชื่อเข้าสู่ระบบนี้จะปลดล็อกให้อย่างราบรื่น
เช็กลิสต์สั้นๆ ก่อนลองใช้
- คุณมีคีย์ SSH บนคอมพิวเตอร์ของคุณ (รัน
ls ~/.sshเพื่อตรวจสอบ) - คุณได้เพิ่มคีย์นั้นลงในเซิร์ฟเวอร์ Git ของคุณแล้ว (GitHub → Settings → SSH Keys)
- คุณรู้ URL ที่แน่นอนของ repository โปรไฟล์ของคุณ
หากคุณยังไม่มีคีย์ SSH ให้รันคำสั่งนี้:
ssh-keygen -t ed25519 -C "your_email@example.com"
จากนั้นทำตามขั้นตอนที่แสดง หลังจากนั้นคุณก็พร้อมใช้งาน
ส่งท้าย
SSH Remote OAuth Sign-In เปรียบเสมือนบัตร VIP สำหรับการดาวน์โหลดโค้ดของคุณ มันช่วยลดความยุ่งยากในการเข้าสู่ระบบทุกครั้งที่คุณต้องการติดตั้งโปรไฟล์ เมื่อคุณตั้งค่าคีย์ SSH แล้ว คำสั่ง hermes profile install ก็แค่ทำงาน—ไม่ว่าคุณจะใช้ลิงก์แบบ GitHub หรือลิงก์ HTTPS ของบริษัทก็ตาม
เคล็ดลับใช้งานจริง: พยายามใช้ URL แบบ SSH (git@...) ทุกครั้งที่ทำได้ เพราะมันเร็วกว่า ปลอดภัยกว่า และมีโอกาสน้อยที่จะทำให้เกิดหน้าจอเข้าสู่ระบบเพิ่มเติม แต่ถ้าคุณมีแค่ลิงก์ HTTPS ก็ไม่ต้องกังวล—เฮอร์มีสจะจัดการเรื่อง OAuth ให้คุณเองเบื้องหลัง แค่นั่งเอนหลังแล้วปล่อยให้คีย์เป็นคนพูดแทนคุณ
📖 เอกสารทางการ
この記事は Hermes Agent のเอกสารทางการに基づいています:เอกสารทางการ › guides/oauth-over-ssh