From fdebd3b6d01d2b0344b73462757f6e9d869a09bc Mon Sep 17 00:00:00 2001 From: Max HeadRoom Date: Fri, 5 Jun 2026 08:30:09 +0200 Subject: [PATCH] Add tunels-ssh.md commit inicial --- tunels-ssh.md | 335 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 335 insertions(+) create mode 100644 tunels-ssh.md diff --git a/tunels-ssh.md b/tunels-ssh.md new file mode 100644 index 0000000..ece8ea9 --- /dev/null +++ b/tunels-ssh.md @@ -0,0 +1,335 @@ +# Punt zero: accés al laboratori amb túnels SSH + +## Objectiu + +Abans de començar el desplegament de PeerTube, cal assegurar l’accés als serveis interns del laboratori. + +En aquest escenari, el host Proxmox és accessible des de fora per SSH, però altres serveis interns, com TrueNAS o els contenidors LXC, només són accessibles des de la xarxa privada. + +Per aquest motiu utilitzarem SSH de dues maneres: + +```text +1. ProxyJump amb -J +2. Túnels locals amb -L i -N +``` + +## Arquitectura d'accés + +```text +Ordinador local Ubuntu + │ + │ SSH + ▼ +Host Proxmox amb IP pública + │ + ├── TrueNAS + ├── contenidors LXC + └── serveis interns +``` + +> **Decisió tècnica:** no exposarem directament les interfícies d’administració internes a Internet. L’accés es farà passant pel Proxmox mitjançant SSH. + +--- + +## 1. Permisos de les claus SSH + +La clau privada ha de tenir permisos restringits: + +```bash +chmod 700 ~/.ssh +chmod 600 ~/.ssh/la_teva_clau +chmod 644 ~/.ssh/la_teva_clau.pub +``` + +Comprovació: + +```bash +ls -ld ~/.ssh +ls -l ~/.ssh/la_teva_clau* +``` + +Sortida esperada: + +```console +drwx------ ~/.ssh +-rw------- ~/.ssh/la_teva_clau +-rw-r--r-- ~/.ssh/la_teva_clau.pub +``` + +> **Atenció:** al servidor s’hi posa la clau pública `.pub`. Al client SSH s’utilitza la clau privada, sense `.pub`. + +--- + +## 2. Accés SSH directe al Proxmox + +Si el Proxmox escolta SSH al port 22: + +```bash +ssh -i ~/.ssh/la_teva_clau root@IP_PUBLICA_PROXMOX +``` + +Si el Proxmox escolta SSH en un altre port, per exemple el `2222`: + +```bash +ssh -i ~/.ssh/la_teva_clau -p 2222 root@IP_PUBLICA_PROXMOX +``` + +--- + +## 3. Accés SSH al TrueNAS amb ProxyJump + +Aquesta opció serveix per entrar per SSH al TrueNAS passant pel Proxmox. + +```bash +ssh -i ~/.ssh/la_teva_clau \ + -J root@IP_PUBLICA_PROXMOX \ + usuari_truenas@192.168.100.101 +``` + +Si el Proxmox escolta SSH pel port `2222`: + +```bash +ssh -i ~/.ssh/la_teva_clau \ + -J root@IP_PUBLICA_PROXMOX:2222 \ + usuari_truenas@192.168.100.101 +``` + +Aquest esquema fa: + +```text +Ordinador local Ubuntu + │ + │ SSH + ▼ +Proxmox públic + │ + │ SSH intern + ▼ +TrueNAS 192.168.100.101 +``` + +> **Nota:** aquesta és la forma més neta quan volem obtenir una shell SSH real dins del TrueNAS. + +--- + +## 4. Túnel local cap al SSH del TrueNAS + +També es pot crear un túnel local cap al port 22 del TrueNAS. + +Primer obrim el túnel: + +```bash +ssh -i ~/.ssh/la_teva_clau \ + -N \ + -L 2222:192.168.100.101:22 \ + root@IP_PUBLICA_PROXMOX +``` + +Aquesta terminal queda oberta mantenint el túnel. + +En una altra terminal, entrem al TrueNAS així: + +```bash +ssh usuari_truenas@localhost -p 2222 +``` + +L’esquema és: + +```text +localhost:2222 + │ + │ túnel SSH + ▼ +Proxmox + │ + ▼ +TrueNAS 192.168.100.101:22 +``` + +Si el Proxmox escolta SSH pel port `2222`, la comanda del túnel seria: + +```bash +ssh -i ~/.ssh/la_teva_clau \ + -p 2222 \ + -N \ + -L 2222:192.168.100.101:22 \ + root@IP_PUBLICA_PROXMOX +``` + +> **Atenció:** en aquest cas hi ha dos ports `2222` amb funcions diferents. El primer `-p 2222` és el port SSH del Proxmox. El segon `-L 2222:...` és el port local que obrim al nostre ordinador. + +Per evitar confusió, es pot usar un altre port local, per exemple `2201`: + +```bash +ssh -i ~/.ssh/la_teva_clau \ + -p 2222 \ + -N \ + -L 2201:192.168.100.101:22 \ + root@IP_PUBLICA_PROXMOX +``` + +I després: + +```bash +ssh usuari_truenas@localhost -p 2201 +``` + +--- + +## 5. Túnel local cap a la GUI web de TrueNAS + +Per accedir a la interfície web de TrueNAS sense exposar-la directament a Internet, fem un túnel cap al port HTTPS del TrueNAS. + +```bash +ssh -i ~/.ssh/la_teva_clau \ + -N \ + -L 8443:192.168.100.101:443 \ + root@IP_PUBLICA_PROXMOX +``` + +Després obrim al navegador local: + +```text +https://localhost:8443 +``` + +Si el Proxmox escolta SSH pel port `2222`: + +```bash +ssh -i ~/.ssh/la_teva_clau \ + -p 2222 \ + -N \ + -L 8443:192.168.100.101:443 \ + root@IP_PUBLICA_PROXMOX +``` + +> **Nota:** el navegador pot mostrar un avís de certificat perquè s’està accedint per `localhost`, però el certificat del TrueNAS no està emès per aquest nom. + +--- + +## 6. Túnel local en segon pla + +L’opció `-N` indica que no volem obrir una shell remota, només mantenir el túnel. + +Si volem enviar el túnel al background, afegim `-f`: + +```bash +ssh -i ~/.ssh/la_teva_clau \ + -f -N \ + -L 8443:192.168.100.101:443 \ + root@IP_PUBLICA_PROXMOX +``` + +> **Atenció:** si s’envia el túnel al background, després caldrà localitzar el procés SSH per tancar-lo. + +--- + +## 7. Veure túnels SSH actius + +Per veure processos SSH oberts: + +```bash +ps aux | grep ssh +``` + +Per veure ports locals escoltant: + +```bash +ss -ltnp +``` + +Exemple de sortida: + +```console +LISTEN 0 128 127.0.0.1:8443 0.0.0.0:* users:(("ssh",pid=12345,fd=5)) +``` + +--- + +## 8. Tancar un túnel SSH + +Si el túnel està obert en una terminal interactiva, es pot tancar amb: + +```text +CTRL + C +``` + +Si està en segon pla, primer localitzem el procés: + +```bash +ps aux | grep ssh +``` + +I després el tanquem: + +```bash +kill PID +``` + +Exemple: + +```bash +kill 12345 +``` + +--- + +## 9. Diagnosi ràpida de problemes SSH + +### Connection refused + +```console +ssh: connect to host 192.168.100.101 port 22: Connection refused +``` + +Vol dir que la màquina respon, però no hi ha cap servei SSH escoltant al port 22. + +En el cas de TrueNAS, cal revisar: + +```text +System Settings → Services → SSH → Start +``` + +> **Nota:** activar `Start Automatically` no arrenca el servei en aquell moment. També cal prémer `Start` o el botó de play. + +### Permission denied + +```console +Permission denied (publickey) +``` + +Vol dir que ja s’ha arribat al servei SSH, però l’autenticació ha fallat. + +Cal revisar: + +```text +- usuari correcte +- clau pública enganxada a l’usuari correcte +- ús de la clau privada al client +- permisos de la clau privada +- shell vàlida de l’usuari +- accés SSH habilitat per aquell usuari +``` + +### Authenticity of host can't be established + +```console +The authenticity of host ... can't be established +``` + +Això és normal en la primera connexió a una màquina nova. Indica que el client encara no coneix la clau del servidor. + +--- + +## 10. Resum de comandes + +| Objectiu | Comanda | +|---|---| +| Entrar al Proxmox | `ssh -i ~/.ssh/la_teva_clau root@IP_PUBLICA_PROXMOX` | +| Entrar al Proxmox per port 2222 | `ssh -i ~/.ssh/la_teva_clau -p 2222 root@IP_PUBLICA_PROXMOX` | +| Entrar al TrueNAS amb salt | `ssh -i ~/.ssh/la_teva_clau -J root@IP_PUBLICA_PROXMOX usuari_truenas@192.168.100.101` | +| Entrar al TrueNAS amb salt i Proxmox al 2222 | `ssh -i ~/.ssh/la_teva_clau -J root@IP_PUBLICA_PROXMOX:2222 usuari_truenas@192.168.100.101` | +| Obrir túnel SSH cap al TrueNAS | `ssh -i ~/.ssh/la_teva_clau -N -L 2201:192.168.100.101:22 root@IP_PUBLICA_PROXMOX` | +| Entrar pel túnel SSH | `ssh usuari_truenas@localhost -p 2201` | +| Obrir túnel web cap a TrueNAS | `ssh -i ~/.ssh/la_teva_clau -N -L 8443:192.168.100.101:443 root@IP_PUBLICA_PROXMOX` | +| Obrir GUI TrueNAS | `https://localhost:8443` | \ No newline at end of file