@echo off REM Puts the SSH access back that a deleted home directory took with it: the key the website logs in with, in the REM home of the root user, and the key of the deployer in the home of the Administrator. Run it as Administrator on REM the box, for example over RDP. The cleanup job puts the key of the website back by itself from then on. setlocal EnableDelayedExpansion set KEY=ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJDweEH8bhZAHVaAedhTVDb2j/oMEn3vm97xCwCw9LC9 root@nowhere.wirs.ing cygwin-2222 set OWN=ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBTHzLm8QMhHIo7kFAvtAFnqpspeR3L3gM8kLoG1137 lennart@erms set BLOB=AAAAC3NzaC1lZDI1NTE5AAAAIIBTHzLm8QMhHIo7kFAvtAFnqpspeR3L3gM8kLoG1137 if not exist C:\msys2\home\root\.ssh mkdir C:\msys2\home\root\.ssh > C:\msys2\home\root\.ssh\authorized_keys echo %KEY% echo %OWN% >> C:\msys2\home\root\.ssh\authorized_keys if not exist C:\Users\Administrator\.ssh mkdir C:\Users\Administrator\.ssh findstr /c:"%BLOB%" C:\Users\Administrator\.ssh\authorized_keys >nul 2>&1 || echo %OWN% >> C:\Users\Administrator\.ssh\authorized_keys REM The user owns their .ssh, so that they can add keys of their own. for /f "tokens=5" %%i in ('findstr /b "root:" C:\msys2\etc\passwd') do set SID=%%i set SID=!SID:*,=! if not defined SID goto :done icacls C:\msys2\home\root\.ssh /grant *!SID!:(OI)(CI)F /t icacls C:\msys2\home\root\.ssh /setowner *!SID! :done echo The SSH access is back.