1 คะแนน โดย GN⁺ 2025-09-19 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เมื่อเปิดใช้งาน FileVault ระหว่างการบูต macOS ดาต้าวอลุ่มจะอยู่ในสถานะล็อก
  • ไฟล์คอนฟิกของ OpenSSH ถูกจัดเก็บไว้ในดาต้าวอลุ่ม จึงไม่สามารถใช้วิธียืนยันตัวตนหรือเข้าถึงเชลล์แบบเดิมได้ขณะที่วอลุ่มยังถูกล็อก
  • หากเปิดใช้งาน Remote Login (SSH) อยู่ จะสามารถปลดล็อกดาต้าวอลุ่มจากเครือข่ายระยะไกลได้ด้วยการยืนยันตัวตนด้วยรหัสผ่าน
  • วิธีนี้ไม่ได้อนุญาตให้ใช้ SSH session ได้ทันที แต่หลังปลดล็อกจะเกิดอาการ การเชื่อมต่อ SSH ถูกตัดชั่วคราว
  • หลังจากดาต้าวอลุ่มถูกเมานต์และบริการที่จำเป็นเริ่มทำงานแล้ว จึงจะเข้าถึงผ่าน SSH ได้

ภาพรวมการทำงานร่วมกันของ SSH และ FileVault ของ Apple

  • บน macOS ที่เปิดใช้ FileVault ดาต้าวอลุ่มจะถูกล็อก ทำให้ไม่สามารถเข้าถึงวอลุ่มดังกล่าวได้แม้หลังผ่านช่วงเริ่มบูตแล้ว
  • เนื่องจากไฟล์การตั้งค่าระดับระบบและระดับบัญชีทั้งหมดของ OpenSSH ถูกเก็บไว้ในดาต้าวอลุ่ม เมื่อดาต้าวอลุ่มอยู่ในสถานะล็อก วิธีการยืนยันตัวตนหรือการเข้าถึงเชลล์ที่ตั้งค่าไว้ตามปกติจะถูกปิดใช้งานโดยทั่วไป

ปลดล็อกระยะไกลด้วย Remote Login (SSH)

  • หลังบูตและในขณะที่ดาต้าวอลุ่มยังถูกล็อกอยู่ หากเปิดใช้งาน Remote Login (การล็อกอินผ่าน SSH) ระบบจะยังอนุญาตให้ลองยืนยันตัวตนด้วยรหัสผ่านผ่านเครือข่ายได้
  • ผู้ใช้สามารถใช้ SSH เพื่อ ยืนยันตัวตนด้วยรหัสผ่าน จากระยะไกลและปลดล็อกวอลุ่มที่ถูกล็อกด้วย FileVault ได้

ข้อจำกัดและกระบวนการของการปลดล็อก

  • ฟังก์ชันนี้ช่วยปลดล็อกดาต้าวอลุ่มได้ แต่ไม่ได้หมายความว่า SSH session จะเชื่อมต่อได้ทันที
  • ทันทีที่ดาต้าวอลุ่มถูก ปลดล็อก macOS จะดำเนินการเมานต์วอลุ่มและเริ่มบริการสนับสนุนที่พึ่งพาวอลุ่มนั้น ซึ่งระหว่างนี้จะเกิดอาการ การเชื่อมต่อ SSH ถูกตัดชั่วคราว
  • หลังจากขั้นตอนดังกล่าวเสร็จสิ้นแล้ว จึงจะสามารถใช้งาน SSH และบริการอื่น ๆ ที่เปิดไว้ได้ตามปกติ

การเริ่มนำมาใช้ใน macOS 26 Tahoe

  • ฟังก์ชันปลดล็อกดาต้าวอลุ่มระยะไกลผ่าน SSH ถูกนำมาใช้ครั้งแรกใน macOS 26 Tahoe

1 ความคิดเห็น

 
GN⁺ 2025-09-19
ความคิดเห็นใน Hacker News
  • พบว่าเมื่อเปิดใช้ FileVault ดาต้าวอลุ่มจะถูกล็อกและไม่สามารถเข้าถึงได้ระหว่างบูตหรือหลังบูตจนกว่าจะยืนยันตัวตนด้วยรหัสผ่านของบัญชี โดย OpenSSH สำหรับ macOS จะเก็บทั้งไฟล์ตั้งค่าระดับระบบและระดับบัญชีไว้ในดาต้าวอลุ่ม ดังนั้นระหว่างที่ FileVault ยังล็อกอยู่ วิธีการยืนยันตัวตนหรือการเข้าถึงเชลล์ที่ตั้งไว้ตามปกติจะใช้งานไม่ได้ แต่ถ้าเปิด Remote Login ไว้ การยืนยันตัวตนด้วยรหัสผ่านผ่าน SSH จะยังทำได้ในสถานะนี้ ทำให้ปลดล็อกดาต้าวอลุ่มจากระยะไกลผ่านเครือข่ายได้ อย่างไรก็ตามจะไม่ได้เข้าสู่ SSH session ต่อทันที หลังปลดล็อกวอลุ่มผ่าน SSH การเชื่อมต่อจะหลุดสั้น ๆ ระหว่างที่ macOS เมานต์วอลุ่มและรีสตาร์ตบริการต่าง ๆ แล้วหลังจากนั้นจึงจะใช้งาน SSH (และบริการอื่น ๆ) ได้ตามปกติ เป็นการเปลี่ยนแปลงที่น่ายินดีมาก

  • สงสัยว่านี่หมายความว่าหลังไฟดับแล้วเครื่องรีบูตอัตโนมัติ จะสามารถใช้งาน Mac mini เป็นเซิร์ฟเวอร์แบบรีโมตเต็มรูปแบบได้โดยไม่ต้องเสียบคีย์บอร์ดจริงอีกต่อไปหรือไม่ เป็นการเปลี่ยนแปลงที่ยอดเยี่ยมมาก

    • จากการทดสอบด้วยตัวเองยืนยันได้ว่าทำงานได้สมบูรณ์
      1. เปิดใช้งาน General > Sharing > Remote Management
      2. หลังรีบูต เมื่อ SSH เข้าไปจะเห็นข้อความว่า "ระบบนี้ถูกล็อกอยู่ ใช้ชื่อบัญชีและรหัสผ่านเพื่อปลดล็อก เมื่อปลดล็อกแล้วจะเชื่อมต่อได้ตามปกติ"
      3. เมื่อยืนยันตัวตนผ่าน SSH สำเร็จ การเชื่อมต่อ SSH จะถูกตัด และจะแสดงข้อความว่า "ปลดล็อกระบบเรียบร้อยแล้ว ตอนนี้สามารถยืนยันตัวตนผ่าน SSH ได้ตามปกติ"
      4. เชื่อมต่อ SSH อีกครั้งก็จะเข้าใช้งานได้ตามปกติ
    • สามารถใช้คำสั่งนี้ได้ด้วย
      sudo fdesetup authrestart -delayminutes -1
      
      วิธีนี้จะทำให้การรีบูตครั้งถัดไปเพียงครั้งเดียวล็อกอินอัตโนมัติด้วยบัญชีที่เลือก ไม่ต้องใส่รหัสผ่านจึงสะดวก แต่มีความเสี่ยงด้านความปลอดภัย ซึ่งอาจยอมรับได้ในบางกรณี
    • อยากถามด้วยความสงสัยจริง ๆ ว่าทำไมถึงเลือก macOS เป็นระบบปฏิบัติการสำหรับเซิร์ฟเวอร์ ตัวผมเองก็คิดว่าฮาร์ดแวร์ Mac mini น่าสนใจมากจนเคยชั่งใจอยู่เหมือนกัน แต่ก็ลังเลที่จะรัน Linux แทน macOS
    • เคยมีประสบการณ์ที่เพื่อนร่วมงานเปิด FileVault บนเครื่อง CI โดยไม่ตั้งใจ ทำให้ต้องถอดเครื่องออกจากแร็ก เช็ดฝุ่น แล้วต่อจอ/คีย์บอร์ดเพื่อเข้าไปล็อกอินและปลดล็อกด้วยตัวเอง ตอนนี้พอปลดล็อกผ่าน SSH ได้แล้ว ถ้าเกิดเรื่องแบบนั้นอีกก็แก้จากระยะไกลได้ทันที
    • เข้าใจดีถึงความไม่สะดวกที่เครื่อง Mac ระยะไกลซึ่งเปิด FileVault ไว้ต้องล็อกอินแบบกายภาพหลังไฟดับจึงจะกลับมาออนไลน์ได้ อยากรู้ว่าหลังรีบูตแล้วจะรีโมตเข้า GUI ได้เต็มรูปแบบด้วยหรือไม่ กำลังคิดจะซื้อ Mac mini สำหรับโฮมแล็บ และยังคิดเผื่อว่าถ้าจำเป็นอาจต้องใช้อุปกรณ์รีโมตอย่าง KVM ด้วย
  • อยากบอกว่านี่เป็นการเปลี่ยนแปลงครั้งใหญ่สำหรับสภาพแวดล้อม Mac ที่ใช้ในองค์กรหรือการใช้งานที่ไม่ใช่ส่วนบุคคล ความคุ้มค่าและคุณภาพของ Mac Mini ค่อนข้างเหมาะกับงานอัตโนมัติ และในบริษัทเองก็มีการเพิ่มการใช้งานทีละน้อยหากไม่มีปัญหานี้ เรื่อง FileVault เป็นสาเหตุสำคัญที่คอยฉุดไว้

    • สนใจการใช้ Mac เป็นเซิร์ฟเวอร์ทั่วไป อยากรู้ว่ามีการตั้งค่าเพิ่มเติมหรือวิธีจัดการอะไรบ้างเพื่อให้ใช้งานเป็นเซิร์ฟเวอร์ได้ง่ายขึ้น รันวอร์กโหลดเฉพาะของ Mac หรือรันวอร์กโหลด Linux แบบคอนเทนเนอร์ด้วยหรือไม่
  • ยินดีที่ใน macOS 26 Tahoe ได้เพิ่มความสามารถในการปลดล็อกดาต้าวอลุ่มผ่าน SSH หลังจากอัปเกรดเป็น Tahoe ไม่นานมานี้ก็แปลกใจที่ SSH เข้าได้ และเพิ่งรู้ว่านี่คือการเปลี่ยนแปลงที่อยู่เบื้องหลัง ปกติไม่ได้ปิด Mac แต่บางครั้งต้องเข้าใช้งานจากระยะไกลแล้วลืมไปว่าเมื่อคืนติดตั้งอัปเดตใหญ่ไว้ การเปลี่ยนแปลงครั้งนี้ช่วยลดความกังวลลงได้

  • เดาว่านี่อาจหมายความว่าตอนนี้ FileVault ไม่ได้เข้ารหัส system volume แล้ว เพราะ system volume เป็นแบบอ่านอย่างเดียว เนื้อหาคงที่ และเหมือนกันใน macOS ทุกเครื่อง แนวคิดที่ให้บูตจนถึงขั้นมีเครือข่ายได้ทั้งหมดก่อนแล้วค่อยขอรหัสปลดล็อกดาต้าวอลุ่มก็ดูสมเหตุสมผลมาก ถ้า FileVault ข้ามการเข้ารหัส system volume จริงก็ถือเป็นการเปลี่ยนแปลงที่สมเหตุสมผลมาก และยังพูดถึงด้วยว่าด้วยเทคนิค overlay หลายกรณีที่เหมือนเขียนลง system partition จริง ๆ แล้วข้อมูลถูกเขียนลงดาต้าวอลุ่ม

    • ข้อมูลอย่างรหัสผ่าน WiFi ก็เก็บอยู่ในดาต้าวอลุ่ม ดังนั้นเครือข่ายจึงไม่ได้พร้อมใช้งานเสมอไป
  • เป็นการเปลี่ยนแปลงที่น่าสนใจ แต่สงสัยว่าปัญหา "race condition" ที่เกิดในกราฟิกเซสชัน เช่น กรณีเชลล์ถูกเก็บอยู่บนดาต้าวอลุ่ม จะเกิดกับ SSH ด้วยหรือไม่ ตัวอย่างเช่น เวลารีสตาร์ตแล้วเลือกกู้คืนแอป เคยมีกรณีที่แอปเปิดขึ้นมาก่อนที่ทุกวอลุ่มจะเมานต์เสร็จ ทำให้รันเชลล์ไม่สำเร็จ เกิดบ่อยโดยเฉพาะเมื่อใช้ Nix ติดตั้งเชลล์ ดูมีโอกาสสูงว่า SSH ก็อาจเจอปัญหาเดียวกัน จึงสงสัยว่าระดับระบบได้แก้ปัญหานี้แล้วหรือยัง

    • ในกระบวนการปลดล็อกผ่าน SSH ระบบจะปิดการเชื่อมต่อทันทีหลังปลดล็อกดาต้าวอลุ่ม เมื่อเมานต์วอลุ่มเสร็จแล้วค่อยเชื่อมต่อใหม่และรันเชลล์ จึงไม่มีปัญหานี้ สำหรับกรณีใช้ Nix store เคยแก้ด้วย shim ที่ใช้ wait4path โดยติดตั้ง shim ไว้ล่วงหน้าในพาธที่รู้แน่บนดาต้าวอลุ่ม แล้วตั้งให้เป็น login shell
    • Apple ป้องกันปัญหานี้ตั้งแต่ต้นทางด้วยการปิดทุกโปรเซสหลังปลดล็อกอุปกรณ์ ("userspace reboot")
    • คิดว่าส่วนใหญ่แก้ได้ด้วยการเชื่อมต่อใหม่ โดยเฉพาะกับ SSH ที่ปกติมีกลไก retry เครือข่ายอยู่แล้ว จึงไม่น่าเป็นปัญหาใหญ่
    • มองว่าเคสนี้แก้ได้ด้วยยูทิลิตี wait4path ที่มีอยู่ใน OS มานานแล้ว
  • คิดว่าเป็นการเปลี่ยนแปลงที่ดีมาก เพราะก่อนหน้านี้ปิด FileVault ไว้เพราะขาดฟีเจอร์นี้

  • กำลังทดลอง Full Disk Encryption ของ Omarchy (ชุดปรับแต่ง Arch ที่มีแนวทางชัดเจน) และชั่งใจว่าจะใช้เป็น VM หลักได้ไหม ตอนทำงานกับเครื่องโดยตรงจะเข้าถึงเดสก์ท็อปที่เร่งความเร็วด้วย GPU และงานประมวลผลระยะยาวทั้งหมดได้ แต่ถ้าต้องอยู่ห่างเครื่องหลายสัปดาห์แล้วเครื่องรีบูต ก็จะติดปัญหาที่ต้องใส่รหัสดิสก์ด้วยตัวเองทางกายภาพเสมอ จึงลังเลจะลองใช้อย่างจริงจัง แม้รันอยู่บน ProxMox แต่เพราะการตั้งค่าอย่าง USB passthrough ทำให้เข้าผ่าน VNC viewer มาตรฐานไม่ได้ จึงสงสัยว่า Omarchy จะลองทำระบบปลดล็อกระยะไกลแบบเดียวกับ macOS หรือไม่

    • บน Linux ทำแบบนี้ได้มานานมากแล้วด้วยการใส่ dropbear ลงใน initramfs เพื่อทำระบบปลดล็อกระยะไกล
  • มั่นใจว่าต้องมีช่องทางโจมตีจากช่องโหว่อยู่ที่ไหนสักแห่งแน่ ๆ

    • นอกจากความเสี่ยงด้านความปลอดภัยทั่วไปของ SSH แบบใช้รหัสผ่าน ก็ยังนึกไม่ออกว่ามีความเสี่ยงเพิ่มเติมอะไรเป็นพิเศษ ถ้ากังวลก็วางไว้หลังไฟร์วอลล์อย่าง Wireguard ก็ช่วยได้มาก และเมื่อเทียบกับก่อนหน้านี้ที่ต้องปิด FileVault บน Mac เซิร์ฟเวอร์ นี่ถือเป็นการเปลี่ยนแปลงที่น่ายินดีกว่ามาก
    • จากประสบการณ์กับปัญหาความปลอดภัยอย่าง Blastdoor ทำให้มักระมัดระวังกับการเปลี่ยนแปลงลักษณะนี้เสมอ
  • มี Mac mini ที่เคยเลิกใช้ทำโฮมแล็บเพราะไม่มีฟีเจอร์นี้ แต่ตอนนี้รู้สึกว่าทุกอย่างเปลี่ยนไปแล้ว