# Encerra o acesso SSH temporario e remove tudo que abrir-ssh.ps1 criou. # NAO mexe no Uptime Kuma (C:\uptime-kuma continua funcionando). # Rodar em PowerShell como ADMINISTRADOR: # powershell -ExecutionPolicy Bypass -File .\fechar-ssh.ps1 $ErrorActionPreference = 'Continue' if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole('Administrators')) { Write-Host 'Rode este script em um PowerShell como Administrador.' -ForegroundColor Red; exit 1 } Write-Host '1/4 Parando o servico SSH...' Stop-Service sshd -Force -ErrorAction SilentlyContinue Set-Service sshd -StartupType Disabled -ErrorAction SilentlyContinue Write-Host '2/4 Removendo a chave autorizada...' Remove-Item 'C:\ProgramData\ssh\administrators_authorized_keys' -Force -ErrorAction SilentlyContinue $uk = Join-Path $env:USERPROFILE '.ssh\authorized_keys' if (Test-Path $uk) { $rest = Get-Content $uk | Where-Object { $_ -notmatch 'claude-kuma-temp' } if ($rest) { Set-Content $uk $rest -Encoding ascii } else { Remove-Item $uk -Force } } Write-Host '3/4 Removendo firewall e shell padrao...' Remove-NetFirewallRule -DisplayName 'SSH temporario Kuma' -ErrorAction SilentlyContinue Remove-ItemProperty -Path 'HKLM:\SOFTWARE\OpenSSH' -Name DefaultShell -ErrorAction SilentlyContinue Write-Host '4/4 Desinstalando OpenSSH Server...' Remove-WindowsCapability -Online -Name 'OpenSSH.Server~~~~0.0.1.0' | Out-Null Remove-Item 'C:\ProgramData\ssh' -Recurse -Force -ErrorAction SilentlyContinue Write-Host '' if (Get-Service sshd -ErrorAction SilentlyContinue) { Write-Host 'Servico ainda listado - reinicie o PC para concluir a remocao.' -ForegroundColor Yellow } else { Write-Host 'Acesso SSH encerrado e removido.' -ForegroundColor Green }