« MariaDB tunnel serveur distant » : différence entre les versions
Page créée avec « 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é. ----- == 1️⃣ Créer le script de lancement du tunnel == # Crée un script dans ton home (ou <code>/usr/local/bin</code>) : <syntaxhighlight lang="bash">nano /home/geo/start-mariadb-tunnel.sh</syntaxhighlight> <ol start="2" style="list-style-type: decimal;"> <li>Contenu du s... » |
|||
| (3 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 9 : | Ligne 9 : | ||
# 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>) : | ||
<syntaxhighlight lang="bash">nano /home/ | <syntaxhighlight lang="bash">nano /home/john/start-mariadb-tunnel.sh</syntaxhighlight> | ||
<ol start="2" style="list-style-type: decimal;"> | <ol start="2" style="list-style-type: decimal;"> | ||
<li>Contenu du script :</li></ol> | <li>Contenu du script :</li></ol> | ||
| Ligne 20 : | Ligne 20 : | ||
SSH_USER=user | SSH_USER=user | ||
SSH_HOST=12.12.12.12 | SSH_HOST=12.12.12.12 | ||
SSH_KEY=/home/ | SSH_KEY=/home/john/.ssh/id_ed25519_test | ||
SSH_PORT=666 | SSH_PORT=666 | ||
| Ligne 34 : | Ligne 34 : | ||
<li>Rends le script exécutable :</li></ol> | <li>Rends le script exécutable :</li></ol> | ||
<syntaxhighlight lang="bash">chmod +x /home/ | <syntaxhighlight lang="bash">chmod +x /home/john/start-mariadb-tunnel.sh</syntaxhighlight> | ||
----- | ----- | ||
| Ligne 46 : | Ligne 46 : | ||
<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=geo | User=geo | ||
ExecStart=/home/geo/start-mariadb-tunnel.sh | 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. | ||
* <code>User= | * <code>User=john</code> → exécute le tunnel avec ton utilisateur Ubuntu pour utiliser la clé privée. | ||
| Ligne 99 : | Ligne 104 : | ||
----- | ----- | ||
'''Exemple phpMyAdmin :''' | |||
<syntaxhighlight lang="php"> | |||
$i++; | |||
$cfg['Servers'][$i]['verbose'] = 'VPS via SSH'; | |||
$cfg['Servers'][$i]['host'] = '127.0.0.1'; // localhost du tunnel | |||
$cfg['Servers'][$i]['port'] = 33007; // port local du tunnel | |||
$cfg['Servers'][$i]['socket'] = ''; | |||
$cfg['Servers'][$i]['auth_type'] = 'cookie'; | |||
$cfg['Servers'][$i]['user'] = 'johnsql'; | |||
$cfg['Servers'][$i]['password'] = 'passjohnsql'; | |||
$cfg['Servers'][$i]['connect_type'] = 'tcp'; | |||
# Non obligatoire car déja protégé par tunnel | |||
$cfg['Servers'][$i]['ssl'] = true; | |||
$cfg['Servers'][$i]['ssl_ca'] = '/home/john/ca-cert_serverMaria.pem'; | |||
$cfg['Servers'][$i]['ssl_cert'] = '/home/john/client-cert_serverMaria.pem'; | |||
$cfg['Servers'][$i]['ssl_key'] = '/home/john/client-key_serverMaria.pem'; | |||
$cfg['Servers'][$i]['ssl_verify'] = false; // ou true si tu veux vérifier le certificat | |||
</syntaxhighlight> | |||
[[category:Sql]] [[Catégorie: Linux]] | [[category:Sql]] [[Catégorie: Linux]] [[Catégorie: Debian]] | ||