BASE/tunels-ssh.md
2026-06-05 08:36:49 +02:00

6.8 KiB

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:

1. ProxyJump amb -J
2. Túnels locals amb -L i -N

Arquitectura d'accés

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:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/la_teva_clau
chmod 644 ~/.ssh/la_teva_clau.pub

Comprovació:

ls -ld ~/.ssh
ls -l ~/.ssh/la_teva_clau*

Sortida esperada:

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:

ssh -i ~/.ssh/la_teva_clau root@IP_PUBLICA_PROXMOX

Si el Proxmox escolta SSH en un altre port, per exemple el 2222:

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.

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:

ssh -i ~/.ssh/la_teva_clau \
  -J root@IP_PUBLICA_PROXMOX:2222 \
  usuari_truenas@192.168.100.101

Aquest esquema fa:

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:

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í:

ssh usuari_truenas@localhost -p 2222

L'esquema és:

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:

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:

ssh -i ~/.ssh/la_teva_clau \
  -p 2222 \
  -N \
  -L 2201:192.168.100.101:22 \
  root@IP_PUBLICA_PROXMOX

I després:

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.

ssh -i ~/.ssh/la_teva_clau \
  -N \
  -L 8443:192.168.100.101:443 \
  root@IP_PUBLICA_PROXMOX

Després obrim al navegador local:

https://localhost:8443

Si el Proxmox escolta SSH pel port 2222:

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:

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:

ps aux | grep ssh

Per veure ports locals escoltant:

ss -ltnp

Exemple de sortida:

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:

CTRL + C

Si està en segon pla, primer localitzem el procés:

ps aux | grep ssh

I després el tanquem:

kill PID

Exemple:

kill 12345

9. Diagnosi ràpida de problemes SSH

Connection refused

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:

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

Permission denied (publickey)

Vol dir que ja s'ha arribat al servei SSH, però l'autenticació ha fallat.

Cal revisar:

- 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

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