⚙️ Script PowerShell: Habilitar Acceso SSH en Windows
🎯 Propósito del Script
Este script de PowerShell automatiza todos los pasos necesarios para activar y configurar el servidor OpenSSH en un MiniPC con Windows 10 o 11. Su objetivo es preparar el nodo para que pueda ser gestionado remotamente de forma segura, eliminando la necesidad de acceso físico o de Escritorio Remoto (RDP) para tareas administrativas.
📜 El Código Completo
# enable-ssh.ps1
# ------------------------------------------
# Activación y configuración del servidor SSH en Windows 10/11
# Ejecutar como administrador
# ------------------------------------------
# Escribe un mensaje en la consola para informar al operador de lo que está sucediendo.
Write-Host "🔧 Habilitando el componente OpenSSH.Server en este equipo..."
# Instala el servicio SSH si no está presente. Es una capacidad opcional de Windows.
# El modificador -Online significa que busca la capacidad en Windows Update si es necesario.
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
# Inicia el servicio SSH (sshd). Si ya estaba en ejecución, no hace nada.
Write-Host "🚀 Iniciando el servicio sshd..."
Start-Service sshd
# Configura el servicio para que se inicie automáticamente cada vez que el sistema arranque.
# Esto es crucial para asegurar el acceso remoto persistente después de reinicios.
Write-Host "⚙️ Configurando el servicio para inicio automático..."
Set-Service -Name sshd -StartupType 'Automatic'
# Crea una regla en el Firewall de Windows para permitir conexiones entrantes en el puerto 22 (el puerto estándar de SSH).
# Sin esta regla, el firewall bloquearía todos los intentos de conexión.
Write-Host "🛡️ Creando regla en el Firewall para el puerto 22..."
New-NetFirewallRule -Name sshd -DisplayName 'SSH Server' `
-Enabled True -Direction Inbound -Protocol TCP `
-Action Allow -LocalPort 22
# Verifica el estado final del servicio y lo muestra en pantalla.
Write-Host "✅ Verificación final del estado del servicio:"
Get-Service sshd
Write-Host "`n🎉 ¡Éxito! El servidor SSH está habilitado y configurado. El nodo está listo para acceso remoto."
🚀 ¿Cómo Ejecutar el Script?
El operador local en EE.UU. debe ejecutar este script con privilegios de Administrador. Hay dos maneras de hacerlo:
Método 1: Ejecución Local (Copiando el archivo)
- Guarda el código anterior en un archivo llamado
enable-ssh.ps1. - Transfiere el archivo al MiniPC (vía USB, email, etc.).
- Haz clic derecho sobre el archivo y selecciona "Ejecutar con PowerShell". Asegúrate de que se ejecute en una ventana de PowerShell (Administrador).
Método 2: Ejecución Remota (Recomendado)
Esta es la forma más profesional. Alojas el script en un único lugar (como un Gist de GitHub) y el operador solo necesita ejecutar un comando para descargarlo y ejecutarlo al mismo tiempo. Esto asegura que siempre se use la versión más actualizada del script.
-
Aloja el script: Crea un Gist público en GitHub y pega el código del script. Obtén la URL "Raw" del archivo.
-
Comando de ejecución para el operador: El operador abre PowerShell (Administrador) en el MiniPC y ejecuta:
```powershell
Reemplaza la URL con la URL "Raw" de tu Gist
irm https://gist.githubusercontent.com/tu-usuario/tu-gist-id/raw/enable-ssh.ps1 | iex ```
irm(Invoke-RestMethod): Descarga el contenido de la URL.|(Pipe): Envía la salida del primer comando (el texto del script) al siguiente.iex(Invoke-Expression): Ejecuta el texto recibido como un comando de PowerShell.
✅ Resultado Esperado
Independientemente del método, el resultado final es que el MiniPC:
- Queda accesible vía SSH desde Internet a través de su IP pública (ej: ssh admin@50.190.105.81).
- No interfiere con el funcionamiento de otras aplicaciones como Salad, Honeygain o EarnApp.
- El acceso SSH persistirá incluso después de que el MiniPC se reinicie.