syndeo 3 days ago

>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!

reader9274 3 days ago

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

  • reader9274 3 days ago

    Just tested it and it works flawlessly!

    1. Enable: General > Sharing > Remote Management

    2. After reboot, when trying to SSH you get this message:

    "This system is locked. To unlock it, use a local account name and password. Once successfully unlocked, you will be able to connect normally."

    3. Once you successfully ssh, the ssh connection is closed, and this message is shown:

    "System successfully unlocked. You may now use SSH to authenticate normally."

    4. You have to re-ssh and you're in!

    • kylehotchkiss 2 days ago

      If you had it on prior to the MacOS update with FileVault off, MacOS automatically enabled FileVault and didn't flip the switch with SSH to support this.

      So now I have a Mac mini that I have to unmount and connect to a screen to get working again. blerg

    • nazarewk 2 days ago

      I actually turned it on after the update with General > Sharing > Remote Login.

      It's worth noting I had to disable and re-enable (I had it enabled to begin with) this option for SSH to start working.

      Remote Management option didn't change anything for me and is currently turned off.

      • reader9274 2 hours ago

        Ah, I use Remote Management because I also do screen sharing on this mac mini from time to time

    • SXX 2 days ago

      One question for you or anyone who tried it. SSH host (mac) key pre disk unlock is randomly generated and persistent?

      • lxgr 2 days ago

        I'd be surprised if it were a different key from the regular host key.

        Most SSH clients I know show a big and often non-overridable warning in case of a changed host key and don't allow (at least not TOFU-style) trusting two keys.

        • SXX 2 days ago

            > Most SSH clients I know show a big and often non-overridable warning in case of a changed host key and don't allow (at least not TOFU-style) trusting two keys.
          
          You can solve this with HostKeyAlias, but yeah I doubt Apple would do this. Considering other comments mentioning "just SSHing after reboot" it's certainly the same host key.

            https://stackoverflow.com/questions/733753/how-to-handle-ssh-host-key-verification-with-2-different-hosts-on-the-same-but
          
          PS: Another option obviously UserKnownHostsFile, but I would better keep single known hosts file.
          • lxgr 2 days ago

            Wow, TIL about HostKeyAlias and CheckHostIP. Especially the latter sounds super useful when it comes to frequently changing private IPs. Thank you!

  • varenc 3 days ago

    You can also do this:

       sudo fdesetup authrestart -delayminutes -1
    
    
    which will make the computer auto login to the chosen account on next reboot, without having to type in a password. Only lasts once. Has obvious security downsides though but that might be fine.
    • firecall 3 days ago

      I was also aware of this - but I dont want my Mac to actually auto login, for obvious reasons!

      I just want me to able to remotely login!

      • varenc 2 days ago

        You could have another script that immediately triggers the Lock Screen after boot...but agreed this comes with many compromises.

        But if your Mac is physically secure, and has no keyboard or monitor on it anyway, I don't quite understand the risk? Remote login still requires the password after this of course. But if physical security is a concern it makes sense.

        Also I suppose there's other risks from having a decryption key sitting in NVRAM.

    • eastbound 3 days ago

      But then you could just disable FileVault?

      • derefr 3 days ago

        I think the point of this technique is to be able to leave the machine locked on cold boot, but to be able to e.g. unlock it, put it to sleep, and go on vacation; and then, if you need to remotely reboot it, you can reboot it in such a way that it stays unlocked on next boot, rather than reverting to locked.

        • kkylin 3 days ago

          Generally I have used fdesetup to do remote OS upgrades: do this just before an OS upgrade so that on reboot I can still log in.

        • anyfoo 3 days ago

          It's still a little bit like putting your jewelry in a safe, and leaving the key on top of the safe.

          • BHSPitMonkey 3 days ago

            When it comes to disk encryption, at least in the home, the threat model isn't somebody sitting around in your home finding a way to exfiltrate the currently-unlocked filesystem; It's someone taking the computer or the drive with them and leaving.

            In your analogy, the key atop the vault vanishes as soon as the vault is moved from its location (loses power).

            • anyfoo 3 days ago

              If that was the case (maybe it is, I don’t know), then how does the proposed solution help against power outages, which was asked for?

              • avianlyric 2 days ago

                That wasn’t what was asked for. The original reason given was to require a password on cold boot, but not require a password when rebooting e.g. for an OS update

                • anyfoo 2 days ago

                  Well, you've asked me to quote in another subthread, I did. Since I don't fully get what you're referring to now, can you please quote?

          • patrakov 3 days ago

            It makes sense temporarily. You can always move the key to your pocket later if nobody steals it.

            • anyfoo 2 days ago

              Oh yeah, I get it. Just pointing out what this is doing, and why you should probably not always do this, for example.

          • derefr 3 days ago

            I mean, I assume you'd set the unlock-on-reboot flag, and then immediately reboot — at which point the unlock-on-reboot flag gets automatically unset.

            So, sure, it's a bit like leaving the key on top of the safe... while you have the safe open. Which isn't all that odd.

            • anyfoo 3 days ago

              No, the scenario was power outage at an unknown time in the future, not immediate reboot.

      • johncolanduoni 3 days ago

        This only puts the key in NVRAM until the next restart - so if you run it just before you restart an attacker would have to happen to grab the device in those few minutes.

        • anyfoo 3 days ago

          The stated problem was power outages. I did not verify the syntax of the proposed solution, but -1 looks like it disables the delay. So, indefinitely until the next reboot? Which, if the key is indeed saved in NVRAM (I don’t know), means someone can take the machine and have it unlocked at their destination.

          • avianlyric 2 days ago

            You’re going to have to quote that the stated problem was power outages. The first comment in this thread was taking about how the linked article solves the power outage problem.

            But the sub-thread about using the existing utils is only for solving the unlock on reboot problem, and explicitly not solving the cold boot unlock problem.

            • anyfoo 2 days ago

              First comment:

              > 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 ...

              Reply:

              > You can also do this: [...] -delayminutes -1 [...] which will make the computer auto login to the chosen account on next reboot, without having to type in a password. Only lasts once. Has obvious security downsides though but that might be fine.

              Even though I haven't checked, the "-delayminutes -1" very much sounds to me like it disables the automated reboot, so it waits until the machine reboots for other reasons. Given this and given that it is a direct reply, I personally took it as another solution to the power outage problem, the "reboot" in question actually being a cold boot due to the power outage.

              Note that I haven't verified whether this works after removing power.

          • johncolanduoni 3 days ago

            It used to be NVRAM at least, but that was before the integrated Secure Enclave. Now it could in theory store it there and only unlock if the boot chain is validated (similar to the automatic TPM-based unlock that Windows uses by default).

            • anyfoo 2 days ago

              Right, but my point was, if the idea is to do this to have an automatic unlock on power outages (and if this persists across power outages), it’s not just a few minutes, it’s indefinitely.

  • SXX 2 days ago

    Yeah this is really cool. Before I had to setup hardware KVM for managing Mac build server. Extra $50 for SiSpeed NanoKVM is okay, but then KVM is effectively MiTM that can siphon the password for disk encryption.

    Having it work with just properly encrypted SSH is really welcome change.

  • drusklo 2 days ago

    Honest question; why would you want a server with mac os? I am asking because I thought about getting a mac mini for that purpose, because the hardware is great, but running mac os vs linux is what is throwing me off.

    • lxgr 2 days ago

      A Mac mini (or studio, or however it's called these days) is supposedly one of the more affordable ways to self-host LLMs these days.

      Being able to resume such a server after a power outage when traveling sounds great.

    • egorfine 2 days ago

      I run a render farm on macs. I'm getting so much more performance from a basic Mac Mini that it's not even funny.

      Also a bit of CI on these because why not.

      Managing remote macOS instances is a constant PITA, including, but not limited to ssh access quirks.

    • mvanbaak 2 days ago

      A couple of reasons for me to run it: - time machine - photos.app backup (have photos.app download local copies of your iCloud photos library, backup the photos.app files) - build server for ios/ipados/macos apps

      • rendx 2 days ago

        I use linux SMB targets for Time Machine and PhotoSync and it works just fine. There's also icloudpd, but it requires ADP off.

    • drexlspivey 2 days ago

      I use it as a plex server and it can handle anything you throw at it. Previously plex was running on the synology NAS itself and it would choke with a couple concurrent transcodes

    • BatteryMountain 2 days ago

      Build servers.

      Currently, someone has to head down to the basement and turn the mac on manually if it dies/crashes for any reason. Huge pain in the psu.

    • rollcat 2 days ago

      I'm browsing for something to replace my M1 mini, possibly a non-Mac. With Tahoe around the corner, running a Mac headless seems to be the best option to cope with the redesign.

    • dbdr 2 days ago

      Have you considered https://asahilinux.org/ ?

      • rollcat 2 days ago

        Unfortunately they only support M1/M2 (last time I checked - hardstuck). It would be a great choice to repurpose existing hardware, but I wouldn't go shopping for Asahi specifically.

      • happymellon 2 days ago

        It sounds like they already are, and questioning what benefits having a remote MacOS server would give them.

        Time Machine backups could be one reason?

        • rendx 2 days ago

          Time Machine does not require Mac. You can point it to e.g. a SMB share as destination as well.

    • fredsted 2 days ago

      I mean, why not? There's few drawbacks. Low power usage, high performance, stable OS that can about the same software Linux can. You get the added benefit of interfacing with Apple's ecosystem and iCloud, so you could e.g. back up your Photos database remotely. You can remote in and have a fully featured desktop available anywhere.

  • amelius 2 days ago

    Until Apple triggers something that needs user input, such as an AppleID prompt. Then it's back to the data center ...

    • SXX 2 days ago

      What's wrong with just connecting to mini over VNC? You can even firewall it off and tunnel VNC connection over SSH, or tailscale / zerotier.

      I dont think there is any single action you cant perform on Mini remoty. Once it's unlocked that is.

      • amelius 2 days ago

        Maybe actions like "Please enter your AppleID", or a popup showing on your physical screen saying "system has to restart now", which doesn't show in VNC. In any case, you don't want this in a server because these are usually used over SSH and those types of popup will simply not be seen. Also, servers are usually administrated using scripting and those popups wouldn't work anyway.

    • naikrovek 2 days ago

      maybe. but until then...

  • alerighi 2 days ago

    I remember the time one of my coworkers accidentally enabled failevault on our CI machine, I had to take it out of the rack, dust it off, connect it to a monitor and keyboard, just to login and disable it. Good thing they made it can be unlocked with SSH, so in case it happens another time I can just do it remotely.

  • firecall 3 days ago

    I'm hoping that's the case!

    Having to physically login to a remote Mac that has FieVault enabled to get it online after a power outage is not ideal!

    So will I be able to actually remote into the GUI now after a reboot?

    I've looking at getting a Mac mini for my homelab again, but thinking I'll need one of those remote enable KVM devices!

  • Reason077 3 days ago

    You’ve always been able to do this, just not in combination with FileVault.

  • tristansokol 3 days ago

    How would you automatically login via ssh?

    • SXX 2 days ago

      autossh + sshpass. Work perfectly.

georgeburdell 3 days ago

Biggest change for corporate non-personal Mac usage. Mac Minis are actually fairly good value and good quality for miscellaneous automation purposes. We started switching over to them at work, and the FileVault issue described here was actually one of the big things holding us back.

  • TheTaytay 3 days ago

    Ive been curious about using some Macs for general purpose servers. Is there anything else you do to make them easier to administrate as servers? Are you running Mac-specific stuff on them or more general purpose Linux containerized stuff?

    • mrtesthah 3 days ago

      Macs make terrible servers. I’ve had to manage various on-premises Mac servers for the last 15-20 years and every year Apple breaks something extremely basic and obvious with no reasonable workaround. Especially these days with locking down all the administrative functions such that only a local admin user (with a SecureToken!) clicking a button in the GUI with a physically attached mouse/keyboard can enable them.

      • leakycap 2 days ago

        I'd rather know how a mac server is to run today than how it was over the last 15-20 years. Seems things are getting better now, especially with this ssh news.

        Security is rarely convenient. Since the early OS X days, Apple seems to be willing to do things the more secure way even if it's a bit of a hassle. Seems to be paying off for them.

        • trollbridge 2 days ago

          It’s a lot harder than it used to be. You basically need to ensure you have a remote KVM, or else have access to smart hands every few months to press a button.

          • leakycap 2 days ago

            I don't agree that it is harder than it used to be, unless you specifically mean there are a few more dialogs to hop through during install and initial setup which is annoying on recent versions. But you do this once, just like Windows UAP.

            Apple sells remote management software* if you don't want to buy your own KVM solution, it's $79.99 but given that there are no per-user limits and it has been continually updated for ~20 years, I'd say it's often overlooked in discussions of remotely managing Macs.

            If you want a free solution, Tahoe w/ ssh FileVault unlock makes using a Mac as a server more useful than ever with a non-Apple VNC product of your choice.

            * Mac App Store link: https://apps.apple.com/us/app/apple-remote-desktop/id4099073...

        • mrtesthah 2 days ago

          the point is that the “security” changes apple has been making are not broadly beneficial to the server use case and seem designed for single-user systems with no consideration for remote management/access.

          This is the same reason why Apple has lost the education market to Chromebooks.

      • MangoToupe 2 days ago

        Why not just install linux on them? Macs don't require macos. Hardware ≠ software.

    • amelius 2 days ago

      It's generally a bad idea to use consumer hardware for servers.

      • leakycap 2 days ago

        Yes, and it's wise not to apply general advice to niche situations: like using a Mac mini for a web host.

        With this attitude, we'd all still be running 2U Dell PowerEdge and poor Raspberry Pi would have gone out of business.

        It's 2025, almost 2026. A web server from a few years ago has less power than consumer mac Mini today while using much more energy.

        Throw out the advice that is from the era of physical install media and let's focus on specific (instead of general, unhelpful) advice as we move into the modern era where cheap computers are just fine.

        • comprambler 2 days ago

          Your data integrity is at risk not using ECC ram (EXTRA ESPECIALLY IF YOU USE SOFTWARE RAID), which is usually gated out of consumer hardware.

          Though those poweredges would have had it.

          • leakycap 12 hours ago

            Unless you're sending the Mac mini to space as part of this project, the internal hardware ECC built in to Apple silicon SoC combined with the extremely short unified memory paths removes this as a valid concern

            Any software RAID on macOS is a risk I wouldn't be willing to take, but that is another matter entirely and has nothing to do with ECC.

      • rollcat 2 days ago

        One reason Google was a big hit was because (while all the competition was doubling down on big iron), they ran their search on commodity hardware, and compensated in software/networking.

        I don't think Macs would be a great platform for running a k8s cluster, but the power efficiency alone makes them a curious alternative to explore.

        • amelius 2 days ago

          Google used x86 Linux machines. Which is common in industry. Everything is documented, unlike Apple's offerings.

          • rollcat 2 days ago

            > Which is common in industry.

            It was *not* common in mid-90s. x86 was commodity hardware - home PCs, early NT workstations. PHP was still written in Perl. Linux was a few years old - industry veterans (e.g. Greenspun) were throwing rocks at it.

            Yes, the x86 platform was documented - through reverse-engineering efforts. Compaq was the first to produce PC clones, to IBM's great disdain.

            Don't get me wrong - you're probably better off running Ampere. Just don't dismiss commodity hardware.

            • trollbridge 2 days ago

              PHP was written in C. To quote Rasmus Lerdorf:

              “I wonder why people keep writing that PHP was ever written in Perl. It never was. #php”

              The PHP history page at one point claimed it was:

              https://web.archive.org/web/20090426061624/http://us3.php.ne...

              He may have had some Perl scripts on his computer before the 1.0 C release, but that’s a far cry from “PHP was written in Perl”.

              • rollcat 2 days ago

                Thanks for debunking, I'll stop spreading lies now ^^;

            • amelius 2 days ago

              The setup was common in universities, back then. That's probably also how they got to use it.

              This wouldn't work with Apple products because Apple ultimately has control over the hardware. You don't want a server that suddenly shows "Please enter your AppleID" in the middle of something, for example.

              • oarsinsync 2 days ago

                > The setup was common in universities, back then. That's probably also how they got to use it.

                Sun Microsystems were also big in universities. As were IBM. Lots of people believed the "servers have special hardware" voodoo back then, and parroted that it's bad news to run servers on consumer hardware.

                Somehow, decades later, the meme refuses to die. Unlike Sun Microsystems. Or IBM's Unix server business.

                • amelius 2 days ago

                  Except Apple has tight control. You're basically building your castle in Apple's kingdom.

                  If Google had used Apple appliances for their servers they would be violating the EULA and have lawyers knocking on their door.

                  Apple appliances are made for consumers. Apple's lawyers were not paid to cover business usecases, so they basically don't allow it.

                  • rollcat 2 days ago

                    None of this is the point of this discussion.

                    The point is: commodity hardware is powerful, and it's interesting to explore its capabilities outside of its original purpose. Apple or not.

                    • amelius a day ago

                      If you ignore legal constraints, maybe.

      • snovymgodym 2 days ago

        And yet, running clusters of Mac Minis is one of the most common datacenter solutions for when you need MacOS (usually for CI systems that run iOS builds or something similar).

        • mrtesthah 2 days ago

          If you want iOS build servers Apple’s licensing gives them no other option.

nozzlegear 3 days ago

> 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.

  • watusername 2 days ago

    IIRC macOS upgrades will automatically store a FileVault token (basically `fdesetup authrestart`) before restarting, so the disk is automatically unlocked. It's not a Tahoe-specific thing.

    • nozzlegear a day ago

      Oh I didn't know that, interesting to learn in hindsight. Thanks!

ninkendo 3 days ago

I guess this means the system volume is not encrypted with FileVault? It makes total sense, since it’s supposed to be sealed, read-only data, and identical for every macOS installation.

There’s no reason you shouldn’t be able to boot all the way up including networking, before requiring the data volume to be decrypted.

I know they do a lot of clever things with overlays too, to make it look like you’re writing to the system partition when you’re actually writing to the data partition. It’s a pretty welcome change if FileVault can just skip encrypting the sealed system volume altogether.

Cu3PO42 3 days ago

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.

  • lilyball 3 days ago

    Unlock over SSH terminates the connection after unlocking the data volume, so it doesn't even attempt to start the shell until you reconnect after it's fully booted up.

    FWIW you can fix the shell issue by wrapping your shell in a shim that essentially runs wait4path on the nix store before exec'ing your real shell. I set up my environment to install that shim binary directly onto the data volume at a known path so it can be used as my login shell.

    • Cu3PO42 3 days ago

      Depending on the timeouts involved, I imagined it might still happen if you had automatic retry.

      And thanks for the pointer, I actually have the same fix in my config with the nice benefit of only adding a single non-changing entry to /etc/shells. It might be worth up streaming something like this to nix-darwin, so we don't all go implement essentially the same fix.

  • xrisk 3 days ago

    This is such a hilarious failure mode. I would never have imagined something like this to a problem.

    In the case of SSH though, I assume retrying after a second or so would be enough. You probably have some sort of retry mechanism to deal with network failures anyway.

  • conradev 3 days ago

    Apple does a “userspace reboot” (killing all processes) after device unlock to categorically solve this problem

  • floam 3 days ago

    That sounds like a perfect use case for the wait4path utility that’s shipped with the OS for decades

daft_pink 3 days ago

It’s such a welcome change. I have filevault disabled specifically for that purpose.

epistasis 3 days ago

I've been playing with Omarchy ("highly opinionated" Arch configuration) which has full disk encryption, and was wondering if I could use it as my primary VM. While in person, I would get a full GPU accelerated desktop, with access to all the long-running compute jobs etc. that I'm doing otherwise.

However the one thing stopping me is exactly what's solved here with the new MacOS. If I'm away for a few weeks, and the machine power cycles, the full disk encryption password still needs to be entered, in person, as far as I can tell. I'm running it under ProxMox, with the GPU in-person USB devices being passed to the VM. So the standard VNC viewer doesn't work for the setup.

It would be interesting to see if Omarchy tries somethnig similar...

mmaunder 3 days ago

There’s an attack vector in there somewhere.

  • xoa 3 days ago

    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.

    • g-mork 3 days ago

      1) steal computer,

      2) copy unencrypted SSH host key from it to a new computer (which necessarily must not be stored in the data volume), configured with the network identity of original computer

      3) leave new computer in place of original to capture remote SSH-to-unlock attempt

      4) use knowledge of password to unlock original's filevault at your leisure somewhere offsite

      • johncolanduoni 3 days ago

        I’m not sure if they do this, but nothing would stop Apple from putting the SSH host key in the Secure Enclave. This would prevent the extract the SSH host (private) key step.

    • adastra22 3 days ago

      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?

      • pseudalopex 3 days ago

        > Tahoe now escrows your FileVailt key to the iCloud keychain, even if that is something you explicitly opted out of before.

        Yes and no according to Glenn Fleishman. Storing FileVault recovery keys in iCloud Keychain wasn't a choice before. The old iCloud recovery method wasn't end to end encrypted. But iCloud Keychain is. So calling it escrow is debatable. And old recovery keys aren't added to iCloud Keychain. But new recovery keys are stored in iCloud Keychain if enabled.[1]

        [1] https://sixcolors.com/post/2025/09/filevault-on-macos-tahoe-...

        • adastra22 3 days ago

          I can confirm that old recovery keys are added to the iCloud Keychain, even if you explicitly opted out of iCloud recovery before. This is exactly what happened to me when I upgraded my systems to macOS 26 yesterday.

          iCloud Keychain is NOT the same security as a hardcopy written down recovery key, which is what I used before. This is absolutely a forced change in security policy that was not communicated or opted into by the user.

          • pseudalopex 3 days ago

            Was iCloud Keychain enabled before you upgraded? Or was it forced on?

            • adastra22 3 days ago

              I use iCloud keychain as my password manager, just for other things.

      • xoa 3 days ago

        I don't know but I'm still not seeing the relevance? The threat/target scenarios in general for FDE are physical theft of a device, hardware servicing by 3rd parties, and dealing with end of life (either due to replacement or hardware failure). FDE means that "erasing all data securely" can involve simple key purging instead of extremely time consuming zeroing/overwriting or physical destruction. But it's no barrier nor meant to be any barrier against hot online attacks, if someone is able to get admin remote access to a running system without authorization that is the problem and it'd be equally the problem whether the machine was cold booted or already booted. And if they illegitimately possess the recovery key then it's a problem whether remote or physically present.

        FWIW and having not looked yet (since I never upgrade major macOS versions anymore without a good 3-5 months going by and the first 2-3 minor fixes first) my default assumption is it's still possible to not escrow recovery keys, if only because plenty of people don't use iCloud keychain at all (including myself), and also because I know for sure that you can use configuration profiles to control FV recovery key escrow already. That'd be a requirement for lots of business usage so even if it needs a profile to use should still be there? But again this all seems orthogonal to the issue at hand. Stuff does crash or need updates that require a reboot and previously you either needed to turn off FV entirely or use a hardware workaround for GUI access (ie, setup a basic SBC with HDMI/USB in and use it as a bridge or use a premade solution along the lines of PiKVM [0]). It's definitely a small but nice (and feels rare nowadays from Apple) remote admin gesture to let it be done in software like it should have been long ago.

        ----

        0: https://pikvm.org/

        • adastra22 3 days ago

          > my default assumption is it's still possible to not escrow recovery keys

          At least if you have an iCloud account attached to your profile (I have no idea what happens if you don't), the upgrade process will automatically and without notification or asking consent add your recovery key to the iCloud Keychain. It does tell you afterwards what it so helpfully did.

        • qmr 3 days ago

          Call me crazy, (“you’re crazy!”) but I still zero all storage before destruction, sale or repurposing.

          Belt and suspenders.

          • johncolanduoni 3 days ago

            For SSDs that doesn’t actually guarantee deletion - there could still be some over-provisioned erase blocks that have the old data due to wear leveling.

            • jshier 3 days ago

              Apple's SSDs are all encrypted at the controller nowadays. No need to rewrite, just reformat and it cycles the key, leaving any recoverable data irrevocably encrypted (until we break modern encryption).

              • burnerthrow008 3 days ago

                I thought all SSDs did that for wear-leveling purposes.

                • johncolanduoni 2 days ago

                  They do, but consumer ones usually don't implement the additional API (TCG Opal) that lets you lock/unlock the hardware encryption key. Without that capability you can't use it to implement full-disk encryption. They do usually implement the NVMe secure erase feature though, which will rotate it.

          • wpm 3 days ago

            I mean, if you regularly deal with data worth the effort necessary to recover, that isn’t crazy at all

      • Citizen8396 3 days ago

        1. Keychain is local if you don't enable iCloud

        2. If someone has compromised your iCloud account and/or device, you have bigger things to worry about

        3. No

        • adastra22 3 days ago

          > If someone has compromised your iCloud account and/or device, you have bigger things to worry about

          That doesn't mean all my security should be a house of cards with a single point of failure in the form of my iCloud account and/or device(s). Someone shouldn't be able to get the keys to the castle just by compromising any single one of those.

    • shawnz 2 days ago

      Would Wireguard function in this pre-unlock environment?

  • lxgr 2 days ago

    Unless this somehow force-enables username/password authentication for SSH configs that otherwise enforce public-key auth, I can't really think of anything. Can you?

  • bigyabai 3 days ago

    Yup. My post-Blastdoor reaction to these writeups is always one of tentative suspicion.

AceJohnny2 3 days ago

Interesting. I thought even networking didn't come up after a cold boot on a system with FileVault until there was a local login, which is a big reason I do not enable FileVault on my office workstation. I guess this has been changed on Tahoe too?

  • conradev 3 days ago

    Networking always comes up after cold boot, but WiFi passwords are stored on the encrypted volume. So, it depends on whether you use WiFi!

    • wpm 3 days ago

      One network will get stored on NVRAM, I think it’s probably whatever the first one you connect to is.

    • SoftTalker 3 days ago

      And also depends on your using DHCP?

  • johannes1234321 3 days ago

    I guess it is need, so that the IT department may revoke keys remotely.

cjensen 3 days ago

>When FileVault is enabled, the data volume is locked and unavailable during and after booting

This is incorrect. Macs do only a tiny partial boot before showing the login. The real work is done after the machine is unlocked.

When using OpenCore on a Hackintosh, the unlock login is almost instantly presented after OpenCore completes its part of startup. Only after the unlock does MacOS startup really do anything.

It's awesome that someone has managed to get ssh to do the unlock, but saying the data volume is "locked... after booting" is going too far.

  • mjg59 3 days ago

    "Someone" here is Apple - this is the Apple manpage for a Tahoe feature

  • unloader6118 3 days ago

    You are confused. There are no "partial boot". This is fully booted in "before first unlock" state. Apple's public document always call it that way.

    • dishsoap 3 days ago

      In the past it used to work the way the parent comment is describing. The confusion is understandable. Apple basically got rid of macos and replaced most of it with things from ios in 2020, a lot changed.

  • wpm 3 days ago

    Only true for Intel Macs

kylehotchkiss 2 days ago

Real life experience on my headless Mac mini: I had SSH enabled and FileVault disabled. Updated to latest MacOS. FileVault was automatically enabled(!!!). Restart again. All Mac mini services invisible. SSH `Connection refused`.

nnx 3 days ago

Is there a way to somehow authenticate with ssh key instead?

oefrha 3 days ago

Sadly you need to upgrade to the abomination that is macOS 26 to use this… Which I probably won’t do until latest Xcode drops support for macOS 15.

egorfine 2 days ago

This has been such a PITA for us. A very, very welcome change. Given Apple's stance towards professional users I truly wonder how come this change has been considered at all. Maybe this was something Apple themselves struggled with.

kylehotchkiss 3 days ago

Can LaunchDaemons spin up after this initial unlock? I'm trying to get my Mac Mini server to run things regardless of my login status. It would be great to get FileVault enabled on the server with this. I'm OK to manually login whenever the power goes out.

  • lilyball 3 days ago

    LaunchDaemons don't rely on GUI login state so they should come up. If you use LaunchAgents then they won't start this way, but LaunchDaemons should be enabled once the data volume is unlocked and booting finishes.

nunez 3 days ago

Huge news for kick-starting Mac minis in a rack and remote lockout troubleshooting!

sandreas 3 days ago

I welcome this change, while I'm still asking myself whether macs did not support JetKVM or NanoKVM? This should allow way more flexible remote access solutions than having to use SSH.

lossolo 3 days ago

Finally, MacOS version of Linux dropbear + LUKS. I waited for this.

odo1242 3 days ago

They also seem to have added the ability to use external displays on the login screen while FileVault is enabled, which is pretty useful.

  • leakycap 2 days ago

    Pretty useful is a kind way to put it, but I'm glad they fixed this.

Halan 3 days ago

I have a Mac mini that I deemed unfit for home lab due to the lack of this feature. This changes everything

tonymet 3 days ago

could this be used more generally for secrets & creds? i would like to improve the security of api keys and stuff

pfexec 3 days ago

Friendly reminder that you've been able to automatically unlock fully-encrypted Linux systems via TPM for years since it was added to systemd...

(Here's a nickel kid...)

  • xrisk 3 days ago

    This is not the same thing is it? Arch Wiki mentions something about having to install a separate ssh server into initramfs to support ssh’ing into fully encrypted systems.

    systemd-cryptenroll seems to be about storing encryption keys into the TPM so that they can be decrypted automatically at boot (?)

    Apologies if I misunderstood something.

    • epistasis 3 days ago

      I'm looking for what you're describing, some way to remote unlock a system. Is this the wiki page you're talking about?

      https://wiki.archlinux.org/title/Dm-crypt/Specialties#Remote...

      However, I'd prefer that the box is not on the general internet, but only over my tailscale net. I wonder if tailscale will also fit in the initramfs...

      • xrisk 3 days ago

        Yeah I was looking at that page. Found this btw: https://github.com/darkrain42/tailscale-initramfs

        • epistasis 3 days ago

          Thanks! I'm just getting back into Linux boot issues for the first time in multiple decades, and boy is it different than I remember.

          It's pretty incredible to be able to dump all this stuff directly into the boot system. Now to see what Omarchy has done to give the fancy LUKS password entry...

    • conradev 3 days ago

      and I imagine that the initramfs is not encrypted and trivially modifiable?

      Apple is able to achieve this securely because their devices are not fully encrypted. They can authenticate/sign the unencrypted system partition.

  • Dylan16807 a day ago

    If you want it to automatically unlock via TPM then you turn filevault off. This is protection on top of that.

  • adestefan 3 days ago

    But that uses TPM backed keys only protected by the TPM PSRs. Someone could still swipe your box and unlock the disk.

  • rnhmjoj 3 days ago

    Also possible without a TPM: you just put openssh into the initrd, so you can log in and type the password to unlock the root.

    (It's technically not full-disk encryption because the kernel and initrd are in plaintext, but everything else is)

    • pfexec 3 days ago

      What do you authenticate against? Your shadow file is in the unencrypted area leaving it susceptible to offline attack.

      With the TPM you can fully disable password auth over SSH.

      • auguzanellato 2 days ago

        My Raspberry Pi some time ago had a setup where only public key auth was enabled for LUKS unlock, so I only had to have an authorized_keys file unencrypted.

      • rnhmjoj 3 days ago

        Correct, someone with physical access could run a MitM attack and steal your passphrase. I just find this extremely unlikely, so I honestly don't care.

  • leakycap 2 days ago

    If this worked as well/seamlessly across updates and hardware revisions as your friendly reminder makes it seem, today's Mac news wouldn't be all over the place getting praise.

crest 2 days ago

Now that's a nice quality of life feature if it's implemented correctly!

sugarpimpdorsey 3 days ago

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 3 days ago

    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…

  • dangus 3 days ago

    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.

    • angulardragon03 3 days ago

      Yeah iirc they have moved some stuff around that sshd relied on into the pre-boot volume, so it works exactly as you describe.

  • cyberax 3 days ago

    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 3 days ago

      I have my private keys in Secure Enclave. Why the machine would not have own private keys there?

      • aaroncarson 3 days ago

        100% - Apple wouldn’t be so stupid as to move the private host keys to an unencrypted partition when the Secure Enclave is _right there_. No way is the Secure Enclave too slow for this - it’s exactly what it’s designed to do!

        • cyberax 2 days ago

          I misspoke. I meant a partition that is only protected by the machine-level keys.

          But then I also realized that it's still likely to be hard to access for the attacker. So I don't really have much issues with that.

        • davidczech 3 days ago

          They are encrypted with a SEP key when stored in preboot volume.

      • cyberax 2 days ago

        > I have my private keys in Secure Enclave.

        Really? Secure Enclave supports only one asymmetric algorithm. With only some limited usages.

        • SXX 2 days ago

          As far as I aware you can't actually do 100% of crypto needed for SSH auth inside the SEP itself. Might be I missed something, but I tried to find a way before and there was none. This would obviously be most secure.

          What you can do though is use Secure Enclave powered app for storing and managing access to the keys. So basically app like "secretive" run on your normal OS, but isolated and only it can access keys, use them and there no export function even with admin privileges.

          AFAIK this will fail if there is a local root exploit on macOS, but still much better than keeping keys in plain text.

          • cyberax 2 days ago

            You can generate and store your private SSH key in the secure enclave, there's even an SSH agent that does that for you: https://github.com/maxgoedjen/secretive

            But that's it.

            Anything more complicated is not possible. You can't even upload your existing key into the SE.

            • SXX 2 days ago

              AFAIK "secretive" SSH agent is not actually running inside SEP when it using the keys. So when keys are actively used they are exposed in main OS RAM and only protected by macOS security model (so are safe unless there is jailbreak / actual root exploit).

              So "secretive" and similar software is not as secure as let's say hardware token.

              If I'm wrong please correct me, but when I researched the topic I come to this conclusion.

              • cyberax 11 hours ago

                Ah, I see that Secretive is a victim of feature creep. I think it still can use the SE to store the private key, but it also has more ways to do it.

                This is the initial inspiration for Secretive: https://github.com/sekey/sekey - it uses the SE to generate and store the actual private key, so it never leaves the machine. Hence its limitations.

    • Citizen8396 3 days ago

      1. The drive is encrypted and practically impossible to access on modern Macs regardless of FileVault status

      2. The notion of someone having access to / compromising your device in order to capture SSH creds doesn't strike me as realistic

      • trueismywork 3 days ago

        Thats how all major supercomputer was hacked for crypto.

  • SXX 2 days ago

    > Unavailability of FileVault-mounted home directories when not logged in has been the case since Tiger.

    Since release of M1 now whole data partition is encrypted with single key and not home directories. And likely there no way at all to encrypt home directories with separate keys on modern macOS.