# Acceso remoto al sobremesa (SSH → PowerShell) + Tailscale Fecha: 03-oct-2026. Complementa `SISTEMA_APAGADO_ENCENDIDO_REMOTO.md` (ese cubre *encender/apagar*; esto cubre *entrar una vez encendido*). ## Objetivo Poder trabajar en el sobremesa desde el portátil (o el iPad) **esté donde esté el PC**, con acceso directo a su **PowerShell** por SSH, sin abrir puertos en el router. ## Arquitectura ``` Portátil / iPad ──(Tailscale, red privada cifrada)──> SOBREMESA └─ sshd (OpenSSH) → PowerShell ``` - **Tailscale** pone ambos equipos en una malla privada (rango `100.64.0.0/10`), con nombres estables. - **OpenSSH Server** en el sobremesa expone `sshd` (puerto 22), shell por defecto = PowerShell. - El firewall del sobremesa solo acepta SSH desde Tailscale y LAN. El encendido sigue siendo por el flujo existente (Telegram → Home Assistant → regleta + Wake-on-LAN). `sshd` arranca como **servicio** con Windows, así que en cuanto el PC tiene corriente y hace WoL, SSH ya está disponible (no depende del autologon). ## Puesta en marcha (una vez por equipo) ### 1) Portátil (cliente) - Instalar Tailscale y unirse: `scripts\acceso_remoto\setup_tailscale.ps1 -Hostname portatil` (abre el navegador para autenticar; requiere admin para instalar). - Clave SSH (ya creada en este portátil): `~/.ssh/id_ed25519`. Pública: ``` ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK7tk2+Vznv3zs+vjks64fwV+mznOQ7D+7Ct+vIBFJcz juanm@portatil ``` ### 2) Sobremesa (servidor) — ejecutar **como administrador** ```powershell # 1. Tailscale powershell -ExecutionPolicy Bypass -File scripts\acceso_remoto\setup_tailscale.ps1 -Hostname sobremesa # 2. OpenSSH Server + clave del portátil (auto-eleva) powershell -ExecutionPolicy Bypass -File scripts\acceso_remoto\setup_ssh_server.ps1 ` -PublicKey "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK7tk2+Vznv3zs+vjks64fwV+mznOQ7D+7Ct+vIBFJcz juanm@portatil" ``` ### 3) Probar desde el portátil ```powershell ssh juanm@sobremesa # por nombre Tailscale ssh juanm@100.x.y.z # o por IP Tailscale ``` ## Uso diario - `ssh juanm@sobremesa` → consola PowerShell remota. - Comandos sueltos: `ssh juanm@sobremesa "Get-Process | Sort CPU -Desc | Select -First 5"`. - Copiar ficheros: `scp fichero juanm@sobremesa:C:/Users/juanm/`. - Desde el iPad: app **Tailscale** + cliente SSH (p. ej. Termius/Blink) con la misma clave. ## Seguridad - Contraseñas SSH deshabilitadas → **solo clave pública** (recomendado: `PasswordAuthentication no`). - Firewall SSH restringido a `100.64.0.0/10` (Tailscale) y LAN; sin exposición a Internet. - La tailnet se puede restringir por ACLs en el panel de Tailscale. - La clave `id_ed25519` del portátil está **sin passphrase** por comodidad (los equipos ya tienen autologon). Si se quiere endurecer: `ssh-keygen -p -f ~/.ssh/id_ed25519`. ## Troubleshooting - `ssh` no conecta: en el sobremesa `Get-Service sshd` (debe estar *Running*) y `Get-NetFirewallRule -DisplayName 'OpenSSH Server (sshd) - acceso remoto'`. - No resuelve el nombre Tailscale: `tailscale status` en ambos; usar la IP `100.x.y.z`. - ¿Autenticación rechazada? Revisar que la clave pública está en `C:\ProgramData\ssh\administrators_authorized_keys` (si el usuario es admin) con ACLs correctas (`SYSTEM` y `Administrators` a Full). - Ver logs: `Get-Service sshd | Get-Content` o `C:\ProgramData\ssh\logs\sshd.log` (activando `LogLevel DEBUG3` si hace falta). ## Relación con el arranque remoto 1. Telegram `/encender` → regleta + WoL → sobremesa arranca. 2. `sshd` y Tailscale arrancan solos con Windows. 3. Portátil: `ssh juanm@sobremesa` → PowerShell remoto.