- Khi FileVault được bật, trong lúc macOS khởi động, volume dữ liệu ở trạng thái bị khóa
- Tệp cấu hình OpenSSH được lưu trên volume dữ liệu, nên trong thời gian bị khóa, các phương thức xác thực hiện có hoặc quyền truy cập shell sẽ không khả dụng
- Nếu Remote Login (SSH) được bật, có thể mở khóa volume dữ liệu từ mạng từ xa bằng xác thực mật khẩu
- Cách này không cho phép phiên SSH ngay lập tức; sau khi mở khóa sẽ xảy ra hiện tượng kết nối SSH tạm thời bị ngắt
- Sau khi volume dữ liệu được mount và các dịch vụ cần thiết được khởi động, mới có thể truy cập SSH
Tổng quan về tích hợp SSH và FileVault của Apple
- Trên macOS khi FileVault được bật, volume dữ liệu sẽ bị khóa nên ngay cả sau thời điểm khởi động cũng không thể truy cập volume đó
- Vì mọi tệp cấu hình hệ thống và theo tài khoản của OpenSSH đều được lưu trong volume dữ liệu, nên khi volume dữ liệu đang bị khóa thì các phương thức xác thực được cấu hình thông thường hoặc quyền truy cập shell nhìn chung sẽ bị vô hiệu hóa
Mở khóa từ xa bằng Remote Login (SSH)
- Ngay cả khi volume dữ liệu vẫn bị khóa sau khi khởi động, nếu Remote Login (đăng nhập SSH) được bật thì hệ thống vẫn cho phép thử xác thực mật khẩu qua mạng
- Người dùng có thể dùng SSH để xác thực bằng mật khẩu từ xa và mở khóa volume bị khóa bởi FileVault
Hạn chế và quy trình mở khóa
- Tính năng này cho phép mở khóa volume dữ liệu, nhưng không có nghĩa là phiên SSH sẽ được kết nối ngay lập tức
- Ngay khi volume dữ liệu được mở khóa, macOS sẽ tiến hành mount volume và khởi chạy các dịch vụ hỗ trợ phụ thuộc vào volume đó, trong thời gian này sẽ xảy ra hiện tượng kết nối SSH bị ngắt trong chốc lát
- Sau khi quy trình đó hoàn tất, SSH và các dịch vụ đã được bật khác mới có thể sử dụng bình thường
Được giới thiệu trong macOS 26 Tahoe
- Tính năng mở khóa từ xa volume dữ liệu qua SSH lần đầu được giới thiệu trong macOS 26 Tahoe
1 bình luận
Ý kiến Hacker News
Khi bật FileVault, tôi thấy rằng volume dữ liệu sẽ bị khóa và không thể truy cập trong lúc khởi động hoặc sau khi khởi động cho đến khi xác thực bằng mật khẩu tài khoản; OpenSSH trên macOS lưu cả tệp cấu hình hệ thống lẫn cấu hình theo tài khoản trên volume dữ liệu. Vì vậy, trong lúc FileVault đang khóa, thường sẽ không thể dùng phương thức xác thực đã cấu hình hay truy cập shell. Tuy nhiên, nếu đã bật Remote Login thì xác thực bằng mật khẩu qua SSH vẫn khả dụng ngay cả trong tình huống này. Nhờ đó có thể mở khóa volume dữ liệu từ xa qua mạng. Dù vậy, phiên SSH sẽ không được tiếp tục ngay lập tức; sau khi mở khóa volume qua SSH, kết nối sẽ tạm thời bị ngắt trong lúc macOS hoàn tất việc mount volume và khởi động lại dịch vụ, sau đó SSH (và các dịch vụ khác) sẽ hoạt động bình thường. Đây thực sự là một thay đổi rất đáng mừng
Tôi tự hỏi liệu điều này có nghĩa là giờ đây có thể vận hành một máy chủ Mac mini hoàn toàn từ xa sau khi tự khởi động lại vì mất điện mà không cần cắm bàn phím vật lý hay không. Đây là một thay đổi thực sự tuyệt vời
Tôi muốn nói rằng đây là một thay đổi cực lớn cho các môi trường Mac không phải dùng cá nhân như trong công ty. Tỷ lệ giá/hiệu năng và chất lượng của Mac Mini khá ổn cho mục đích tự động hóa, và ở công ty tôi cũng đã dần tăng triển khai nếu không vì vấn đề này. Vấn đề FileVault là một trong những nguyên nhân chính cản trở
Tôi rất vui khi thấy macOS 26 Tahoe bổ sung tính năng mở khóa volume dữ liệu qua SSH. Sau khi nâng cấp Tahoe gần đây, tôi đã ngạc nhiên vì SSH vào được, và giờ mới biết đó là nhờ thay đổi này. Bình thường tôi không tắt máy Mac, nhưng thỉnh thoảng cần truy cập từ xa thì lại quên mất hôm trước đã cài một bản cập nhật lớn và thấy bối rối. Thay đổi lần này giúp tôi bớt lo hơn
Có lẽ điều này có nghĩa là giờ đây volume hệ thống không còn được mã hóa bằng FileVault nữa. Tôi nghĩ vậy vì volume hệ thống là chỉ đọc, nội dung cố định và giống nhau trên mọi máy macOS. Lập luận rằng hệ thống có thể khởi động đầy đủ cả phần mạng rồi mới yêu cầu giải mã volume dữ liệu cũng khá thuyết phục. Nếu FileVault thực sự bỏ qua mã hóa volume hệ thống thì đây là một thay đổi rất hợp lý. Cũng xin nhắc rằng với công nghệ overlay, nhiều trường hợp trông như đang ghi vào phân vùng hệ thống nhưng thực tế lại ghi vào volume dữ liệu
Đây là một thay đổi thú vị, nhưng tôi tự hỏi liệu vấn đề "race condition" từng xảy ra trong phiên đồ họa, chẳng hạn khi shell nằm trên volume dữ liệu, có áp dụng với SSH hay không. Ví dụ, khi chọn khôi phục ứng dụng lúc khởi động lại, đã từng có tình huống ứng dụng khởi chạy trước khi mọi volume được mount xong khiến shell không chạy được. Trường hợp này thường xảy ra khi cài shell bằng Nix. Có vẻ SSH cũng có khả năng gặp vấn đề tương tự. Tôi muốn biết liệu chuyện này đã được xử lý ở cấp độ hệ thống chưa
wait4path. Chỉ cần cài sẵn shim vào một đường dẫn đã biết trên volume dữ liệu và đặt nó làm login shellwait4pathvốn đã có trong OS từ lâuTôi thực sự thấy đây là một thay đổi đáng mừng. Trước giờ tôi đã phải tắt FileVault chỉ vì thiếu tính năng này
Tôi đang thử Full Disk Encryption của Omarchy (một cấu hình Arch rất thiên về quan điểm) và cân nhắc xem có thể dùng nó làm VM chính hay không. Khi trực tiếp ngồi trước máy, tôi có thể truy cập desktop tăng tốc GPU và mọi tác vụ tính toán dài hạn. Nhưng nếu tôi ở xa nhiều tuần và máy bị reboot, việc bắt buộc phải nhập mật khẩu đĩa trực tiếp khiến tôi ngần ngại thử. Nó đang chạy trên ProxMox, nhưng do các thiết lập như USB passthrough nên không thể truy cập bằng trình xem VNC tiêu chuẩn. Tôi tự hỏi liệu Omarchy có thử cách mở khóa từ xa như macOS hay không
Tôi chắc chắn ở đâu đó sẽ có một bề mặt tấn công lỗ hổng
Tôi từng có một chiếc Mac mini mà đã từ bỏ cho homelab chỉ vì thiếu tính năng này, nhưng giờ tôi cảm thấy mọi thứ đã khác hẳn