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

การยืนยันตัวตนด้วยคีย์ SSH และไฟล์การกำหนดค่า

ตั้งค่า SSH แบบไม่ต้องใช้รหัสผ่านด้วยคู่คีย์ และทำให้การเชื่อมต่อสะดวกขึ้นด้วยไฟล์การกำหนดค่า SSH ส่วนตัว

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

เหตุใดจึงใช้การยืนยันตัวตนด้วยคีย์

คีย์ SSH จะแทนที่รหัสผ่านด้วยคู่คีย์เข้ารหัส คีย์เหล่านี้ปลอดภัยกว่าและทำให้สามารถเข้าสู่ระบบโดยไม่ใช้รหัสผ่านแบบอัตโนมัติได้

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

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

ใช้ ssh-keygen เพื่อสร้างคู่คีย์ Ed25519 สมัยใหม่ โดยจะสร้างคีย์ส่วนตัวและคีย์สาธารณะ .pub ที่ตรงกัน

ssh-keygen -t ed25519 -C "you@example.com"

คีย์ถูกจัดเก็บไว้ที่ใด

โดยค่าเริ่มต้น คีย์จะอยู่ใน ~/.ssh/ คีย์ส่วนตัวต้องเก็บเป็นความลับ ส่วนคีย์สาธารณะสามารถแชร์ได้

ls -l ~/.ssh/

คัดลอกคีย์สาธารณะไปยังเซิร์ฟเวอร์

ssh-copy-id จะเพิ่มคีย์สาธารณะของคุณต่อท้ายไฟล์ authorized_keys ของเซิร์ฟเวอร์ในขั้นตอนเดียว

ssh-copy-id user@server.example.com

ติดตั้งคีย์ด้วยตนเอง

หากไม่สามารถใช้ ssh-copy-id ได้ ให้เพิ่มคีย์สาธารณะต่อท้ายไฟล์ authorized_keys บนเครื่องระยะไกลด้วยตนเอง

cat ~/.ssh/id_ed25519.pub | ssh user@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

สิทธิ์การเข้าถึงที่ถูกต้องมีความสำคัญ

SSH จะปฏิเสธคีย์ที่มีสิทธิ์การเข้าถึงหลวมเกินไป ไดเรกทอรี .ssh ควรมีสิทธิ์เป็น 700 และไฟล์คีย์ควรเป็น 600

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519

เชื่อมต่อด้วยคีย์ของคุณ

เมื่อติดตั้งคีย์สาธารณะแล้ว ssh user@host จะเข้าสู่ระบบโดยไม่ต้องใช้รหัสผ่าน ใช้ -i เพื่อเลือกคีย์ที่ต้องการ

ssh -i ~/.ssh/id_ed25519 user@server.example.com

ปกป้องคีย์ด้วยวลีรหัสผ่าน

วลีรหัสผ่านจะเข้ารหัสคีย์ส่วนตัวบนดิสก์ ssh-agent จะเก็บวลีนี้ไว้ จึงไม่ต้องพิมพ์ซ้ำมากกว่าหนึ่งครั้งต่อเซสชัน

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

ไฟล์การกำหนดค่า SSH

~/.ssh/config ใช้จัดเก็บการตั้งค่าแยกตามโฮสต์ เพื่อให้คุณเชื่อมต่อด้วยนามแฝงสั้น ๆ แทนบรรทัดคำสั่งยาว ๆ

# ~/.ssh/config
Host web
    HostName 203.0.113.10
    User deploy
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

เชื่อมต่อผ่านนามแฝงในการกำหนดค่า

เมื่อมีบล็อกด้านบน ssh web จะใช้ตัวเลือกทั้งหมดเหล่านั้นโดยอัตโนมัติ

ssh web

ตัวเลือกการกำหนดค่าที่มีประโยชน์

ไฟล์การกำหนดค่ารองรับตัวเลือกมากมาย เช่น การรักษาการเชื่อมต่อให้ทำงานอยู่

  • ServerAliveInterval 60 ช่วยให้เซสชันที่ไม่มีการใช้งานยังคงเปิดอยู่
  • ForwardAgent yes ส่งต่อตัวแทนของคุณ
Host *
    ServerAliveInterval 60
    ServerAliveCountMax 3

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ทดสอบความรู้เกี่ยวกับคีย์ SSH

สรุปทบทวน

คุณได้ตั้งค่าการเข้าถึง SSH ที่ปลอดภัยแล้ว:

  • สร้างคู่คีย์ด้วย ssh-keygen -t ed25519
  • ติดตั้งคีย์สาธารณะผ่าน ssh-copy-id
  • จำกัดสิทธิ์การเข้าถึงให้รัดกุม (700/600)
  • ทำให้การเข้าสู่ระบบง่ายขึ้นด้วยนามแฝงโฮสต์ใน ~/.ssh/config

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

บทเรียน “การยืนยันตัวตนด้วยคีย์ SSH และไฟล์การกำหนดค่า” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การยืนยันตัวตนด้วยคีย์ SSH และไฟล์การกำหนดค่า”

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

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

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

บทเรียน “การยืนยันตัวตนด้วยคีย์ 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