« 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/geo/start-mariadb-tunnel.sh</syntaxhighlight>
<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/geo/.ssh/id_ed25519_test
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/geo/start-mariadb-tunnel.sh</syntaxhighlight>
<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=geo</code> → exécute le tunnel avec ton utilisateur Ubuntu pour utiliser la clé privée.
* <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]]