ตัวแทน SSH และการเชื่อมต่อหลายทอด
ใช้ตัวแทน SSH เพื่อจัดการคีย์ได้อย่างราบรื่น และกำหนดค่าการเชื่อมต่อ SSH หลายทอดเพื่อเข้าถึงเครือข่ายที่อยู่ลึกเข้าไป
ตัวแทน SSH และการเชื่อมต่อหลายทอด เป็นบทเรียน Linux Server Deployment & SSH Mastery ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Linux Server Deployment & SSH Mastery และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน
เอเจนต์ SSH: กุญแจสู่ความสะดวก
เบื่อการพิมพ์วลีรหัสผ่านของกุญแจ SSH ทุกครั้งที่เชื่อมต่อกับเซิร์ฟเวอร์หรือไม่ เอเจนต์ SSH ช่วยคุณได้
- เป็นโปรแกรมเบื้องหลังที่จัดเก็บกุญแจส่วนตัวของคุณอย่างปลอดภัย
- คุณปลดล็อกกุญแจด้วยวลีรหัสผ่านเพียงครั้งเดียวต่อหนึ่งเซสชัน
- ซึ่งหมายความว่าคุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์หลายเครื่องได้โดยไม่ต้องป้อนวลีรหัสผ่านซ้ำ ช่วยเพิ่มทั้งความสะดวกและความปลอดภัย
เริ่มต้นเอเจนต์ SSH
ก่อนเพิ่มกุญแจ คุณต้องเริ่มเอเจนต์ SSH ก่อน โดยปกติเอเจนต์จะทำงานเป็นกระบวนการเบื้องหลัง
คุณสามารถเริ่มเอเจนต์และตั้งค่าเชลล์ให้ใช้งานเอเจนต์ได้ด้วยคำสั่งนี้:
eval "$(ssh-agent -s)"เพิ่มกุญแจลงในเอเจนต์
เมื่อเอเจนต์ทำงานแล้ว คุณสามารถเพิ่มกุญแจส่วนตัวลงในเอเจนต์ได้ คำสั่ง ssh-add ใช้สำหรับการนี้:
- ระบบจะแจ้งให้คุณป้อนวลีรหัสผ่านของกุญแจ
- กุญแจของคุณจะยังคงถูกโหลดไว้จนกว่าเอเจนต์จะหยุดทำงาน หรือจนกว่าคุณจะลบกุญแจออกโดยเฉพาะ
หากต้องการดูว่ามีกุญแจใดถูกโหลดอยู่ ให้ใช้ ssh-add -l
ssh-add ~/.ssh/id_rsa
ssh-add -lการส่งต่อเอเจนต์: แนวคิด
บางครั้งคุณจำเป็นต้องเชื่อมต่อจากเซิร์ฟเวอร์หนึ่ง (เซิร์ฟเวอร์ A) ไปยังเซิร์ฟเวอร์อีกเครื่อง (เซิร์ฟเวอร์ B) โดยใช้กุญแจ SSH ภายในเครื่องของคุณ โดยไม่จัดเก็บกุญแจไว้บนเซิร์ฟเวอร์ A
การส่งต่อเอเจนต์ ช่วยให้เอเจนต์ SSH ภายในเครื่องของคุณจัดการการยืนยันตัวตนสำหรับการเชื่อมต่อที่เริ่มจากเซิร์ฟเวอร์ระยะไกลได้ เปรียบเสมือนการขยายเอเจนต์ภายในเครื่องของคุณไปยังโฮสต์ระยะไกลชั่วคราว
การใช้การส่งต่อเอเจนต์
หากต้องการเปิดใช้การส่งต่อเอเจนต์ ให้เพิ่มตัวเลือก -A เมื่อเชื่อมต่อกับเซิร์ฟเวอร์เครื่องแรก (โฮสต์ทางผ่าน)
จากนั้น จากโฮสต์ทางผ่าน คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์อีกเครื่องโดยใช้กุญแจภายในเครื่องของคุณ โดยไม่ต้องจัดเก็บกุญแจเหล่านั้นไว้บนโฮสต์ทางผ่านเลย นี่คือคุณลักษณะด้านความปลอดภัยที่ทรงพลัง
ssh -A user@jump_host
# Now, from jump_host, connect to target_server
ssh user@target_serverSSH แบบหลายทอด: การเข้าถึงเครือข่ายเชิงลึก
หากเซิร์ฟเวอร์เป้าหมายไม่สามารถเข้าถึงได้โดยตรงจากเครื่องภายในของคุณ แต่เข้าถึงได้ผ่านเซิร์ฟเวอร์ตัวกลาง (หรือ "โฮสต์กระโดด") เท่านั้น คุณจะทำอย่างไร
SSH แบบหลายทอด หรือที่เรียกอีกอย่างว่าการเชื่อมต่อ SSH แบบต่อเนื่อง ช่วยให้คุณสร้างการเชื่อมต่อผ่านเซิร์ฟเวอร์ตัวกลางหนึ่งเครื่องหรือหลายเครื่อง เพื่อไปยังปลายทางสุดท้ายได้
การเชื่อมต่อหลายทอดด้วย ProxyJump
วิธีที่ง่ายและแนะนำมากที่สุดในการตั้งค่า SSH แบบหลายทอด คือการใช้คำสั่ง ProxyJump ในไฟล์ ~/.ssh/config ของคุณ
การตั้งค่านี้จะบอกไคลเอ็นต์ SSH ให้เชื่อมต่อกับ JumpHost ก่อน จากนั้นจึงสร้างการเชื่อมต่อไปยัง TargetServer จากเซิร์ฟเวอร์ดังกล่าว
Host TargetServer
HostName 192.168.1.100
User myuser
ProxyJump jump_host_user@jump.example.comการเชื่อมต่อหลายทอดด้วย ProxyCommand
สำหรับไคลเอ็นต์ SSH รุ่นเก่าหรือสถานการณ์ที่ซับซ้อนมากขึ้น ProxyCommand จะมอบความยืดหยุ่นที่มากกว่า โดยจะเรียกใช้คำสั่งเพื่อสร้างการเชื่อมต่อไปยังเซิร์ฟเวอร์เป้าหมาย
ส่วน ssh -W %h:%p จะบอกให้ SSH ส่งต่ออินพุตและเอาต์พุตมาตรฐานไปยังโฮสต์และพอร์ตเป้าหมาย
Host TargetServer
HostName 192.168.1.100
User myuser
ProxyCommand ssh jump_host_user@jump.example.com -W %h:%pการรวมการส่งต่อตัวแทนกับการเชื่อมต่อหลายทอด
คุณสามารถรวมความสามารถอันทรงพลังเหล่านี้เข้าด้วยกันได้ ใช้การส่งต่อตัวแทนร่วมกับการตั้งค่าแบบหลายทอด เพื่อหลีกเลี่ยงการป้อนวลีรหัสผ่านซ้ำ
เพียงเพิ่ม ForwardAgent yes ลงในการตั้งค่าโฮสต์กระโดดใน ~/.ssh/config หรือใช้ ssh -A เพื่อเชื่อมต่อไปยังโฮสต์กระโดด การตั้งค่านี้จะทำให้ตัวแทนภายในเครื่องของคุณใช้ยืนยันตัวตนแทนคุณบนเซิร์ฟเวอร์เป้าหมายสุดท้ายได้ด้วย
Host JumpHost
HostName jump.example.com
User jump_user
ForwardAgent yes
Host TargetServer
HostName 192.168.1.100
User target_user
ProxyJump JumpHostตรวจสอบอย่างรวดเร็ว: ความสามารถของ SSH
พิจารณาข้อความต่อไปนี้เกี่ยวกับตัวแทน SSH และ SSH แบบหลายทอด ข้อความใดเป็นจริง
ทบทวน: การเข้าถึงที่ราบรื่นและปลอดภัย
ในบทเรียนนี้ คุณได้เรียนรู้เทคนิค SSH ขั้นสูงสองรายการดังนี้
- ตัวแทน SSH: จัดเก็บคีย์ที่ปลดล็อกแล้วของคุณ ทำให้ไม่ต้องป้อนวลีรหัสผ่านซ้ำเพื่อความสะดวกและความปลอดภัย
- การส่งต่อตัวแทน: ขยายความสามารถของตัวแทนภายในเครื่องไปยังเซิร์ฟเวอร์ระยะไกลอย่างปลอดภัย ทำให้คุณยืนยันตัวตนจากโฮสต์กระโดดโดยใช้คีย์ภายในเครื่องของคุณได้
- SSH แบบหลายทอด: ช่วยให้เข้าถึงเครือข่ายที่ซ้อนอยู่ลึกผ่านโฮสต์กระโดดตัวกลาง โดยตั้งค่าได้ง่ายด้วย
ProxyJumpหรือProxyCommand
เครื่องมือเหล่านี้จำเป็นอย่างยิ่งสำหรับการจัดการโครงสร้างพื้นฐานเซิร์ฟเวอร์ที่ซับซ้อนอย่างมีประสิทธิภาพและปลอดภัย
คำถามที่พบบ่อย
บทเรียน “ตัวแทน SSH และการเชื่อมต่อหลายทอด” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ตัวแทน SSH และการเชื่อมต่อหลายทอด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Linux Server Deployment & SSH Mastery ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ตัวแทน SSH และการเชื่อมต่อหลายทอด”
ใช้ตัวแทน SSH เพื่อจัดการคีย์ได้อย่างราบรื่น และกำหนดค่าการเชื่อมต่อ SSH หลายทอดเพื่อเข้าถึงเครือข่ายที่อยู่ลึกเข้าไป คุณปฏิบัติ Linux Server Deployment & SSH Mastery ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Linux Server Deployment & SSH Mastery หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Linux Server Deployment & SSH Mastery บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “ตัวแทน SSH และการเชื่อมต่อหลายทอด” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Linux Server Deployment & SSH Mastery นี้ได้ไหม
ได้ บทเรียน Linux Server Deployment & SSH Mastery ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การส่งต่อพอร์ต SSH (ภายในเครื่อง/ระยะไกล)
- อุโมงค์ SSH และพร็อกซี SOCKS
- ตัวแทน SSH และการเชื่อมต่อหลายทอด
- การถ่ายโอนไฟล์อย่างปลอดภัยด้วย SCP, SFTP และ rsync