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.
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!!
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
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)
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!!