# 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. > **ESTADO ACTUAL (03-oct-2026)** — en el sobremesa ya está TODO hecho: > `sshd`+`ssh-agent` Automatic/Running, shell = PowerShell, firewall :22 solo Tailscale+LAN, > Tailscale up (**100.75.115.29**, hostname real `desktop-m8se61g`), clave del portátil en > `administrators_authorized_keys`, Fast Startup OFF, BIOS Restore on AC = Power On. > **Usuario SSH = `juanjo`** (cuenta local admin). **Único pendiente: unir el portátil a Tailscale.** El encendido es por la **regleta inteligente** (comando Alexa `regletta`): se apaga el PC en limpio, la regleta corta la corriente, y al restaurarla la BIOS ("Restore on AC Power Loss = Power On") lo enciente y hace **autologon** en `juanjo`. No se usa Wake-on-LAN (descartado). `sshd` arranca como **servicio** con Windows, así que en cuanto el PC tiene corriente, 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 juanjo@desktop-m8se61g # por nombre Tailscale (MagicDNS) ssh juanjo@100.75.115.29 # o por IP del sobremesa en la tailnet ``` > El usuario del sobremesa es `juanjo` (no `juanm`). El hostname en la tailnet es > `desktop-m8se61g` (nombre Windows), no `sobremesa`; confirmar siempre con `tailscale status`. ## Uso diario - `ssh juanjo@desktop-m8se61g` → consola PowerShell remota. - Comandos sueltos: `ssh juanjo@desktop-m8se61g "Get-Process | Sort CPU -Desc | Select -First 5"`. - Copiar ficheros: `scp fichero juanjo@desktop-m8se61g:C:/Users/juanjo/`. - 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. Comando Alexa `regletta` → la regleta corta/restaura corriente → BIOS (Restore on AC) arranca el sobremesa. 2. `sshd` y Tailscale arrancan solos con Windows; el autologon entra en `juanjo`. 3. Portátil: `ssh juanjo@desktop-m8se61g` → PowerShell remoto.