Files
INFRAESTRUCTURA/docs/ACCESO_REMOTO_SOBREMESA.md
2026-10-03 17:18:41 +02:00

3.6 KiB

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

# 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

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.