Apple: SSH and FileVault
18 comments
·September 18, 2025reader9274
So you're saying i can now have a fully remote mac mini server with auto-reboot on power outage without the need to physically log in with a keyboard attached? Awesome
varenc
[delayed]
Cu3PO42
Neat. Though I wonder if this suffers from the same race condition that the graphical session does when your shell is stored on a data volume.
Specifically, if you restart and opt to restart apps, they can come up before all volumes have been decrypted and mounted. If your shell is on one such volume, your terminal emulator may fail to start, for example. This can happen when using Nix to install your shell, for example.
I imagine this may be even easier to hit over SSH unless the underlying problem was resolved.
daft_pink
It’s such a welcome change. I have filevault disabled specifically for that purpose.
mmaunder
There’s an attack vector in there somewhere.
xoa
Kinda struggling to think of what, beyond the well understood risks of using password-based SSH at all. But that's easily ameliorated by sticking it behind Wireguard or something similar. I think this is a pretty welcome change vs turning off FV entirely which I've had to do with Mac servers in the past.
adastra22
Tahoe now escrows your FileVailt key to the iCloud keychain, even if that is something you explicitly opted out of before. Can this recovery key be used to unlock over SSH?
nozzlegear
> The capability to unlock the data volume over SSH appeared in macOS 26 Tahoe.
Neat! I thought it was odd that I was able to SSH into my Mac after upgrading to Tahoe the other night – part of me wondered if I actually hit that "Upgrade" button before walking away. This is a welcome change though; I don't usually shut my Mac down but there have been a few times where I'm working away from home and need to SSH into my Mac only to remember that I'd installed some major update the night before.
sugarpimpdorsey
Maybe stop using Macs as multiuser servers?
Unavailability of FileVault-mounted home directories when not logged in has been the case since Tiger.
I'm curious - if the OpenSSH config files are not available - how do they start sshd? If the system keys are encrypted, how do they accept connections?
There's a surprising lack of detail here.
numbsafari
How about I just want to access my files remotely after a reboot occurs without having to get to the device at my house?
Agreed, though… MacOS isn’t a proper multi-user system and X is Not Unix…
jacobgkau
In addition to the pedigree that someone else pointed out, macOS is also explicitly certified as UNIX by the legal stewards of that name: https://www.opengroup.org/openbrand/register/
This includes Tahoe specifically: https://www.opengroup.org/openbrand/register/brand3725.htm
gjsman-1000
macOS is a Unix by pedigree; Linux is not.
https://en.wikipedia.org/wiki/List_of_Unix_systems#/media/Fi...
I have to dig out this chart when people complain about macOS's "non-standard utilities." Linux's GNU tools are the ones that aren't standard. If anything, Linux did an "embrace, extend, extinguish" against Unix in general.
jen20
It's also not just Unix by pedigree, but also by certification [1].
[1]: https://www.opengroup.org/openbrand/certificates/1223p.pdf
dangus
I’d add that it is rather prescriptive to declare that macOS is not a “proper multi-user system.”
It is quite capable of handling multiple users. Maybe just not in the way that certain people want it to.
cyberax
I think the SSH host keys are in the system partition ('/private' directory)? It's not protected by FileVault.
This leaves out a possibility of a MITM. An attacker can steal the unencrypted machine host keys and pretend to be your computer. And since you're entering a clear-text password, it's easy to sniff.
Moving the host keys into hardware root-of-trust would help. But macOS Secure Enclave barely supports that, and it's also pretty slow.
_mikz
I have my private keys in Secure Enclave. Why the machine would not have own private keys there?
dangus
I can’t imagine it’s too hard, I think password authentication is the key. Your user password is the same as your FileVault unlock password. I think that there’s a pre-unlock and post-unlock ssh session trick going on. The pre-unlock session just doesn’t have access to anything in the data volume and is able to use the provided password to unlock the data volume.
This would explain why it won’t work with ssh key authentication.
>When FileVault is enabled, the data volume is locked and unavailable during and after booting, until an account has been authenticated using a password. The macOS version of OpenSSH stores all of its configuration files, both system-wide and per-account, in the data volume. Therefore, the usually configured authentication methods and shell access are not available during this time. However, when Remote Login is enabled, it is possible to perform password authentication using SSH even in this situation. This can be used to unlock the data volume remotely over the network. However, it does not immediately permit an SSH session. Instead, once the data volume has been unlocked using this method, macOS will disconnect SSH briefly while it completes mounting the data volume and starting the remaining services dependent on it. Thereafter, SSH (and other enabled services) are fully available.
Now THAT is a welcome change!