03-oct: superguardado automático

This commit is contained in:
minguezsanzjuanjose
2026-10-03 17:18:41 +02:00
parent fdd4ea877a
commit 1b385cca7c
5 changed files with 259 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
# 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.