Featured Video Play Icon

Comment éditer les fichiers de configurations de son serveur à distance en mode graphique avec WinSCP

Temps de lecture estimé: 3 minutes

Cet article n’est pas pour tous les ardus de la ligne de commandes, mais pour ceux qui se disent:

"la ligne de commande, c'est cool hein!! Mais des fois une interface, c'est confortable aussi"

alors oui les outils en mode graphique sont en générale bien moins puissant/complet/rapide que leur équivalent en ligne de commande. Et puis, des fois on a tout simplement pas accès à un environnement graphique (sur un serveur par exemple). Mais honnêtement des fois c’est quand même pratique et moins prise de tête d’avoir un cliquodrome.  

Je travaille actuellement sur un nouveau serveur et, après avoir fait une sécurisation ssh basique, j’aime bien pouvoir naviguer dans le filesystem du serveur pour accéder aux fichiers de configurations facilement et surtout les éditer avec un éditeur simple et puissant comme notepad++

Donc aujourd’hui je t’explique comment je rends ma navigation et l’édition de fichier de configuration beaucoup plus simple sur mes serveurs grâce à WinSCP.

(Le prérequis c’est d’avoir un accès ssh ET sftp sur le serveur)

Bon pour commencer, direction le site de WinSCP pour télécharger et installer la dernière version.

Naviguer dans l’arborescence du serveur

Il y a un gestionnaire de serveur. libre à chacun d’enregistrer les IPs, utilisateurs et mot de passe.

gestionnaire de serveur WinSCP
gestionnaire de serveur WinSCP

et si comme moi tu utilises des clés pour te connecter en ssh à tes serveurs, tu peux aussi configurer une clé privée au format .ppk

Et tadam, tu as maintenant accès en mode graphique à l’arborescence du serveur distant!!

accès à l'arborescence de mon serveur avec WinSCP
accès à l’arborescence de mon serveur avec WinSCP

Editer un fichier

on avance dans le coté pratique!! C’est aussi là que toute la magie opère, si tu as besoin d’éditer un fichier, tu double cliques dessus simplement dessus. Dans mon cas ça ouvre Notepad++ , je fais l’édition que je souhaite, je sauvegarde et paf, ça part sur le serveur.

Et tout ça avec le confort d’un éditeur qui n’est pas Vi ou Vim

éditer un fichier avec les privilèges root

Attention, si tu es connecté avec ton utilisateur « lambda » (sans droit spécifique), tu peux seulement éditer les fichiers pour lesquels tu as les privilèges (si par contre tu es connecté avec l’utilisateur root, ce n’est pas conseillé, mais c’est open bar.)

Il y a une alternative pour avoir le droit de tout modifier, c’est de s’authentifier avec son utilisateur, mais de faire une élévation des privilèges (sudo). Ça peut être problématique suivant l’organisation dans laquelle tu es (et une potentielle brèche de sécurité si quelqu’un te vole tes accès), mais dans mon cas je suis tout seul sur mon serveur perso …

Si malgré tout tu veux comme moi avoir accès à la praticité, il faut changer sur WinSCP les paramètres avancés de connexion et dans la section SFTP, il faut spécifier

sudo -S /usr/lib/openssh/sftp-server
section SFTP d'une connexion pour ajouter sudo
section SFTP d’une connexion pour ajouter sudo

Ensuite il va falloir modifier la configuration du serveur et en particulier la gestion de sudo et le fichier sudoers.

Par défaut quand tu fais un sudo , tu dois saisir ton mot de passe. Le problème ici, c’est qu’en ayant changé

sudo -S /usr/lib/openssh/sftp-server  

Le serveur va attendre que tu saisisses ton mot de passe alors que l’interface WinSCP ne va pas te proposer de le saisir …

Pour palier à tout ça, on va juste modifier la règle dans le fichier sudoers et spécifier que, depuis n’importe où les utilisateurs du groupe sudo n’auront pas à saisir leurs mots de passe pour la commande /usr/lib/openssh/sftp-server  et uniquement celle-ci

Donc comme je l’ai dit, j’ajoute une règle en créant le fichier /etc/sudoers.d/sftp et j’y mets

%sudo ALL = NOPASSWD: /usr/lib/openssh/sftp-server

Si jamais tu préfères attribuer cette permission uniquement à ton utilisateur, tu peux aussi y mettre

monutilisateur ALL = NOPASSWD: /usr/lib/openssh/sftp-server

Voilà! Maintenant si tu te connectes avec WinSCP, tu auras accès à l’édition de tous les fichiers. Bien sûr cette modification est à faire pour chaque connexion et chaque serveur. Plus d’info ici.

Ouvrir une console ssh

et pour finir, la cerise sur le gâteau!! Tu as quand même besoin de te connecter en ssh au serveur, pas de souci, ctrl + P  et ça ouvre une connexion ssh (par défaut avec PuTTY). Dans mon cas j’utilise Cmder (qui utilise lui-même ConEmu) et donc avec ce même ctrl + P, ça m’ouvre un nouvel onglet console

%APPDATA%\Cmder\vendor\conemu-maximus5\ConEmu64.exe /Icon "%APPDATA%\cmder\icons\cmder.ico" /Single /Title Cmder /LoadCfgFile "%APPDATA%\Cmder\vendor\conemu-maximus5\ConEmu.xml" /cmd "ssh !U@!@ -p !?prompt\?22!"

!U  => utilisateur de la session
!@ => nom d’hote / IP du serveur
!?prompt\?22!  => boite de dialogue pour me demander le port (avec le port 22 par défaut)

différents flags disponible pour personnaliser la commande terminal de WinSCP
différents flags disponible pour personnaliser la commande terminal de WinSCP

voilà j’en ai fini avec mes petites astuces WinSCP. un dernier point aussi que je n’est pas évoqué le côté listing de l’interface qui remplace aussi dans une certaine mesure la commande ls (on y voit la taille, les droits, les dates de modifs, on peut trier, on peut accéder rapidement à un fichier en tapant les premières lettres…)

Tu l’as compris je trouve ça vraiment pratique et ça me permet de naviguer et d’éditer des configurations de serveurs super rapidement.

N’hésite pas à me dire ce que tu en penses ou à me faire un retour! En attendant, je te dis à bientôt pour de nouvelles aventures!!

Partagez l'article:
FacebookTwitterEmailLinkedIn

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.