Maintenant que nous avons lancé le serveur PostgreSQL est que nous nous sommes assuré que ce dernier n'écouté que sur l'adresse local de la machine, il nous semle alors dificile d'accéder à distance au serveur de bases de données. Pourtant nous allons vous montrer combien il est simple d'y accéder si on a un compte utilisateur sur la machine utilisée comme serveur de bases de données.
Si vous vous connectez à la machine utilisée comme serveur de bases de données, vous pourrez toujours utiliser les outils en lignes de commande pour interragir avec vos données, c'est souvent bien suffisant. Néanmoins, la plupart des utilisateurs préfèrent utiliser des outils graphique pour interragir avec leurs données, c'est pourquoi nous allons vous montrer ici comment utiliser un tunnel ssh afin de vous connecter à distance avec des outils graphiques comme par exemple pgAdmin.
La première chose à faire est de créer un tunnel ssh entre votre machine (celle à partir de laquelle vous voulez vous connecter au serveur PostgreSQL) et la machine utilisée comme serveur PostgreSQL. Ce n'est pas très compliqué et cela peut être trouvé facilement dans la page de manuel de OpenSSH.
# ssh -L 5432:127.0.0.1:5432 utilisateur@serveur
Dans la commande ci-dessus, vous devez remplacer utilisateur
par le nom de votre compte Unix et serveur
par le nom ou l'adresse ip du serveur PostgreSQL. Vous pouvez de plus utiliser le premier numéro dee port que vous souhaitez, il suffira d'utliser le même pour les paramètres de connexion mentionnés ci-dessous.
Notez de plus que si vous utilisez la commande netstat -na
vu précédament sur votre propre machine, une fois le tunnel ssh ouvert vous avez effectivement ouvert le port 5432 sur votre adresse local, ce qui vous permet donc d'être sur de pouvoir vous conecter de façon sécurisée à votre serveur de bases de donées PostgreSQL.
Au moment ou vous aurez lancé cette commande, et temps que cette connexion reste ouverte, vous serez alors capable de vous connecter au serveur distant en utilisant les paramètres de configuration suivant :
Nous ne mentionnons pas ici les autre paramètres car ils sont identique aux paramètres de connexion que vous utilisez pour vous connecter localement au serveur PostgreSQL.