0Pricing
Linux Command Line & Bash Scripting Mastery · บทเรียน

พื้นฐาน Secure Shell (SSH)

เรียนรู้การเชื่อมต่อกับเครื่อง Linux ระยะไกลอย่างปลอดภัย รวมถึงการยืนยันตัวตนด้วยคีย์และการกำหนดค่าไคลเอ็นต์ SSH เบื้องต้น

พื้นฐาน Secure Shell (SSH) เป็นบทเรียน Linux Command Line & Bash Scripting Mastery ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Linux Command Line & Bash Scripting Mastery และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Linux Command Line & Bash Scripting Mastery มีบทเรียนทั้งหมด 4 บทเรียน

Secure Shell (SSH) คืออะไร

ยินดีต้อนรับสู่บทเรียนพื้นฐาน Secure Shell (SSH) ครับ SSH เป็นโพรโทคอลเครือข่ายที่ทรงพลัง ช่วยให้คุณเชื่อมต่อกับคอมพิวเตอร์ระยะไกลได้อย่างปลอดภัยผ่านเครือข่ายที่ไม่ปลอดภัย

ลองนึกภาพว่า SSH เป็นอุโมงค์ที่ปลอดภัยสำหรับคำสั่งและข้อมูลของคุณ SSH เป็นสิ่งจำเป็นสำหรับการจัดการเซิร์ฟเวอร์ Linux อินสแตนซ์บนคลาวด์ และแม้แต่การเข้าถึงสภาพแวดล้อมการพัฒนาของคุณเองจากระยะไกล

เหตุใดจึงใช้ SSH ความปลอดภัยต้องมาก่อน

ก่อนมี SSH การเชื่อมต่อระยะไกลมักไม่มีการเข้ารหัส ซึ่งหมายความว่าใคร ๆ ก็อาจแอบดูรหัสผ่านและข้อมูลของคุณได้ SSH แก้ปัญหานี้ด้วยการเข้ารหัสที่รัดกุม

  • การรักษาความลับ: ข้อมูลของคุณได้รับการเข้ารหัสและถูกซ่อนจากผู้ที่ไม่ควรเข้าถึง
  • ความถูกต้องครบถ้วน: รับรองว่าข้อมูลจะไม่ถูกแก้ไขระหว่างการส่ง
  • การยืนยันตัวตน: ตรวจสอบตัวตนของทั้งไคลเอนต์และเซิร์ฟเวอร์

SSH เป็นมาตรฐานของอุตสาหกรรมสำหรับการดูแลระบบระยะไกล

SSH: รูปแบบไคลเอนต์-เซิร์ฟเวอร์

SSH ทำงานในรูปแบบไคลเอนต์-เซิร์ฟเวอร์ คุณซึ่งเป็นผู้ใช้จะเรียกใช้ ไคลเอนต์ SSH บนเครื่องภายในเครื่องของคุณ ไคลเอนต์นี้จะเชื่อมต่อกับ เซิร์ฟเวอร์ SSH (มักเรียกว่า `sshd`) ที่ทำงานอยู่บนเครื่องระยะไกล

เมื่อคุณเริ่มการเชื่อมต่อ ไคลเอนต์และเซิร์ฟเวอร์จะทำ 'การจับมือ' เพื่อสร้างช่องทางที่ปลอดภัยและเข้ารหัสก่อนแลกเปลี่ยนข้อมูล

คำสั่งเชื่อมต่อ SSH พื้นฐาน

วิธีพื้นฐานที่สุดในการเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลผ่าน SSH คือใช้คำสั่ง ssh ตามด้วยชื่อผู้ใช้และโฮสต์ (ที่อยู่ IP หรือชื่อโฮสต์)

รูปแบบคือ ssh username@hostname_or_IP ตัวอย่างเช่น หากต้องการเชื่อมต่อกับเซิร์ฟเวอร์ที่ 192.168.1.100 ในฐานะผู้ใช้ coddy:

ssh coddy@192.168.1.100

การเชื่อมต่อครั้งแรกและลายนิ้วมือ

ครั้งแรกที่คุณเชื่อมต่อกับเซิร์ฟเวอร์ใหม่ SSH จะขอให้คุณตรวจสอบ 'ลายนิ้วมือ' ของเซิร์ฟเวอร์ ลายนิ้วมือนี้เป็นตัวระบุเฉพาะที่ช่วยป้องกันการโจมตีแบบ 'คนกลาง'

หากเป็นไปได้ ให้ตรวจสอบลายนิ้วมือเสมอ (เช่น สอบถามผู้ดูแลเซิร์ฟเวอร์) หากตรงกัน ให้พิมพ์ yes เพื่อเพิ่มเซิร์ฟเวอร์ลงในไฟล์ ~/.ssh/known_hosts ของคุณ

พอร์ต SSH และพอร์ตที่กำหนดเอง

โดยค่าเริ่มต้น SSH จะใช้พอร์ต TCP 22 อย่างไรก็ตาม ด้วยเหตุผลด้านความปลอดภัย ผู้ดูแลเซิร์ฟเวอร์มักกำหนดค่าให้ SSH รอรับการเชื่อมต่อที่พอร์ตอื่นซึ่งไม่ใช่พอร์ตมาตรฐาน

หากเซิร์ฟเวอร์ระยะไกลใช้พอร์ตที่กำหนดเอง (เช่น พอร์ต 2222) คุณสามารถระบุพอร์ตนั้นโดยใช้ตัวเลือก -p:

ssh -p 2222 coddy@myremoteserver.com

แนะนำการยืนยันตัวตนด้วยคีย์

แม้การยืนยันตัวตนด้วยรหัสผ่านจะใช้งานได้ แต่ การยืนยันตัวตนด้วยคีย์ SSH มีความปลอดภัยและสะดวกกว่ามาก วิธีนี้ใช้คีย์เข้ารหัสเป็นคู่:

  • คีย์สาธารณะ: จัดเก็บไว้บนเซิร์ฟเวอร์ระยะไกล
  • คีย์ส่วนตัว: จัดเก็บอย่างปลอดภัยบนเครื่องภายในเครื่องของคุณ

เมื่อคุณเชื่อมต่อ เซิร์ฟเวอร์จะส่งคำขอท้าทายไปยังไคลเอนต์ของคุณ จากนั้นไคลเอนต์จะใช้คีย์ส่วนตัวเพื่อพิสูจน์ตัวตน โดยไม่ส่งคีย์ส่วนตัวผ่านเครือข่ายเลย

สร้างคู่คีย์ SSH

คุณสามารถสร้างคู่คีย์ SSH ได้โดยใช้คำสั่ง ssh-keygen คำสั่งนี้จะขอให้คุณระบุตำแหน่งสำหรับบันทึกคีย์ (ค่าเริ่มต้นคือ ~/.ssh/id_rsa) และข้อความรหัสผ่าน (จะระบุหรือไม่ก็ได้)

ข้อความรหัสผ่านจะเพิ่มชั้นความปลอดภัยให้คีย์ส่วนตัวของคุณ ขอแนะนำเป็นอย่างยิ่ง

ssh-keygen -t rsa -b 4096

คัดลอกคีย์สาธารณะของคุณ

เมื่อคุณมีคู่คีย์แล้ว คุณต้องคัดลอก คีย์สาธารณะ ไปยังเซิร์ฟเวอร์ระยะไกล วิธีที่ง่ายที่สุดคือใช้ ssh-copy-id คำสั่งนี้จะเข้าสู่ระบบเซิร์ฟเวอร์ระยะไกล (โดยใช้รหัสผ่านในครั้งแรก) และเพิ่มคีย์สาธารณะของคุณลงในไฟล์ ~/.ssh/authorized_keys

หลังจากนั้น คุณจะสามารถเชื่อมต่อโดยใช้คีย์แทนรหัสผ่านได้

ssh-copy-id coddy@myremoteserver.com

ตรวจสอบอย่างรวดเร็ว: พื้นฐาน SSH

ข้อความใดต่อไปนี้เกี่ยวกับ SSH เป็นจริงบ้าง

ทบทวน: พื้นฐาน Secure Shell

ในบทเรียนนี้ คุณได้เรียนรู้พื้นฐานของ Secure Shell (SSH) แล้ว

  • SSH ให้การเข้าถึงระยะไกลที่ปลอดภัยและมีการเข้ารหัส
  • SSH ทำงานในรูปแบบไคลเอนต์-เซิร์ฟเวอร์ โดยทั่วไปใช้พอร์ต 22
  • คุณสามารถเชื่อมต่อด้วย ssh user@host
  • การยืนยันตัวตนด้วยคีย์โดยใช้คู่คีย์สาธารณะ/ส่วนตัว (สร้างด้วย ssh-keygen และคัดลอกด้วย ssh-copy-id) มีความปลอดภัยสูงกว่าการใช้รหัสผ่าน

ถัดไป เราจะสำรวจคำสั่งเครือข่ายและเครื่องมือถ่ายโอนไฟล์ที่ทรงพลังยิ่งขึ้น

คำถามที่พบบ่อย

บทเรียน “พื้นฐาน Secure Shell (SSH)” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “พื้นฐาน Secure Shell (SSH)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Linux Command Line & Bash Scripting Mastery ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Linux Command Line & Bash Scripting Mastery มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “พื้นฐาน Secure Shell (SSH)”

เรียนรู้การเชื่อมต่อกับเครื่อง Linux ระยะไกลอย่างปลอดภัย รวมถึงการยืนยันตัวตนด้วยคีย์และการกำหนดค่าไคลเอ็นต์ SSH เบื้องต้น คุณปฏิบัติ Linux Command Line & Bash Scripting Mastery ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Linux Command Line & Bash Scripting Mastery หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Linux Command Line & Bash Scripting Mastery บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “พื้นฐาน Secure Shell (SSH)” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Linux Command Line & Bash Scripting Mastery นี้ได้ไหม

ได้ บทเรียน Linux Command Line & Bash Scripting Mastery ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เครื่องมือเครือข่ายพื้นฐาน (ping, ip, netstat)
  2. พื้นฐาน Secure Shell (SSH)
  3. SCP และ Rsync สำหรับการถ่ายโอนไฟล์
  4. การยืนยันตัวตนด้วยคีย์ SSH และไฟล์การกำหนดค่า
← กลับไปที่ Linux Command Line & Bash Scripting Mastery