#!/usr/bin/env bash # RDP vers la VM Windows (Lea) du DGX, depuis ce serveur Linux (.40). # Ouvre un tunnel SSH (par certificat) puis lance xfreerdp. # Presse-papier + dossier $HOME partage. Tunnel ferme a la sortie. # # Usage: # ./connexion-vm-lea.sh # labo (DGX = 192.168.1.45) # ./connexion-vm-lea.sh 10.10.0.1 # en deplacement (via WireGuard) # ./connexion-vm-lea.sh 192.168.1.45 /u:MonUserWindows set -euo pipefail DGX_HOST="${1:-192.168.1.45}" [ $# -gt 0 ] && shift || true LOCAL_PORT=13389 CTL="$(mktemp -u /tmp/rdp-vmlea-ctl.XXXXXX)" cleanup(){ ssh -S "$CTL" -O exit "aivanov@${DGX_HOST}" >/dev/null 2>&1 || true; } trap cleanup EXIT INT TERM echo "[1/3] Tunnel SSH (cert) vers aivanov@${DGX_HOST} ..." ssh -o ExitOnForwardFailure=yes -fN -M -S "$CTL" -L "${LOCAL_PORT}:127.0.0.1:3390" "aivanov@${DGX_HOST}" echo "[2/3] Attente du tunnel ..." for _i in $(seq 1 40); do ss -tlnp 2>/dev/null | grep -q "127.0.0.1:${LOCAL_PORT} " && break sleep 0.25 done echo "[3/3] Connexion RDP (localhost:${LOCAL_PORT}) — presse-papier + dossier $HOME ..." xfreerdp /v:localhost:${LOCAL_PORT} /cert:ignore /clipboard /dynamic-resolution /drive:home,"$HOME" "$@" || true echo "Session RDP terminee, fermeture du tunnel."