« MariaDB tunnel serveur distant » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| (7 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
Un '''tunnel SSH vers un serveur distant''' permet de '''se connecter à MariaDB de façon sécurisée''' sans exposer le port de la base sur Internet. | |||
* Le '''trafic SQL est chiffré''' par SSH, donc personne ne peut l’intercepter. | |||
* Le serveur MariaDB reste '''inaccessible depuis l’extérieur''', ce qui limite fortement les risques d’attaque. | |||
* On peut utiliser des outils locaux (phpMyAdmin, DBeaver, CLI) comme si MariaDB était '''en local''', même si elle est sur un serveur distant. | |||
* Couplé avec <code>autossh</code>, le tunnel devient '''persistant et fiable''', pratique pour accès permanent ou automatisé. | |||
En bref : '''sécurité + confidentialité + simplicité d’accès''' à une base distante. | |||
== 🐋 Solution avec Docker == | |||
* [https://github.com/marmits/phpmyadmin-docker Voir => github.com/marmits/phpmyadmin-docker] | |||
== 🐧 Solution native sur Ubuntu == | |||
Un service systemd pour créer un tunnel SSH persistant vers MariaDB sur Ubuntu 24.04. | Un service systemd pour créer un tunnel SSH persistant vers MariaDB sur Ubuntu 24.04. | ||
Il inclut la reconnexion automatique et vérifie que le port local n’est pas déjà utilisé. | Il inclut la reconnexion automatique et vérifie que le port local n’est pas déjà utilisé. | ||
| Ligne 5 : | Ligne 19 : | ||
----- | ----- | ||
== 1️⃣ Créer le script de lancement du tunnel == | === 1️⃣ Créer le script de lancement du tunnel === | ||
# Crée un script dans ton home (ou <code>/usr/local/bin</code>) : | # Crée un script dans ton home (ou <code>/usr/local/bin</code>) : | ||
| Ligne 38 : | Ligne 52 : | ||
----- | ----- | ||
== 2️⃣ Créer le service systemd == | === 2️⃣ Créer le service systemd === | ||
# Crée le fichier de service : | # Crée le fichier de service : | ||
| Ligne 46 : | Ligne 60 : | ||
<li>Contenu du service :</li></ol> | <li>Contenu du service :</li></ol> | ||
<syntaxhighlight lang="ini">[Unit] | <syntaxhighlight lang="ini"> | ||
[Unit] | |||
Description=Tunnel SSH persistant vers MariaDB | Description=Tunnel SSH persistant vers MariaDB | ||
After=network.target | After=network.target | ||
Wants=network-online.target | Wants=network-online.target | ||
StartLimitIntervalSec=0 | |||
[Service] | [Service] | ||
Type=simple | Type=simple | ||
User= | User=geo | ||
ExecStart=/home/ | ExecStart=/home/geo/bash/start-mariadb-tunnel.sh | ||
Restart=always | Restart=always | ||
RestartSec=10 | RestartSec=10 | ||
ExecStartPre=/bin/sleep 10 | |||
[Install] | [Install] | ||
WantedBy=multi-user.target</syntaxhighlight> | WantedBy=multi-user.target | ||
</syntaxhighlight> | |||
* <code>Restart=always</code> → relance automatiquement si le tunnel tombe. | * <code>Restart=always</code> → relance automatiquement si le tunnel tombe. | ||
* <code>RestartSec=10</code> → délai avant de relancer. | * <code>RestartSec=10</code> → délai avant de relancer. | ||
| Ligne 67 : | Ligne 86 : | ||
----- | ----- | ||
== 3️⃣ Activer et démarrer le service == | === 3️⃣ Activer et démarrer le service === | ||
<syntaxhighlight lang="bash">sudo systemctl daemon-reload | <syntaxhighlight lang="bash">sudo systemctl daemon-reload | ||
| Ligne 75 : | Ligne 94 : | ||
----- | ----- | ||
== 4️⃣ Vérification == | === 4️⃣ Vérification === | ||
* Statut du service : | * Statut du service : | ||
| Ligne 122 : | Ligne 141 : | ||
[[category:Sql]] [[Catégorie: Linux]] | [[category:Sql]] [[Catégorie: Docker]] [[Catégorie: Linux]] [[Catégorie: Debian]] | ||