I. Présentation de SSHC
SSHC (pour « SSH Console« ) est un gestionnaire de profils SSH en ligne de commande, ultra pratique pour les Linuxiens qui souhaitent une gestion des profils « à la Putty« . L’intérêt est bien entendu de pouvoir :
- Centraliser des profils de connexion SSH
- Se connecter rapidement (via un sélection menu)
Le tout en ayant en plus un stockage des mots de passe ! Je trouve personnellement l’outil très utile et facile à utiliser. Voyons cela ! 🙂
II. Installation de SSHC
SSHC est un outil simple d’installation, la plupart des dépendances dont il a besoin sont présentes nativement sur les distributions Linux classiques. Nous aurons cependant besoin d’installer :
- openssl : Ce paquet permet bien entendu de gérer la partie chiffrement, il notamment utilisé pour chiffrer les profils et les mots de passe dans notre cas;
- sshpass : Permet de gérer le passage du mot de passe lors de l’utilisation des profils de connexion SSH;
- wget : Composant qui sera utilisé pour récupérer des informations depuis l’extérieur, pour l’installation et les mises à jours depuis le Github du projet par exemple;
- ssh : Sans lequel rien de tout ça n’est possible, SSH (client et serveur) est généralement présent par défaut sur les distributions Linux;
- joe : il s’agit d’un éditeur de texte, utilisé par SSHC, notamment pour créer nos connexions.
Sous Debian, voici comment installer ces paquets :
apt-get install openssl sshpass wget ssh joe
Sous CentOS :
yum install openssl sshpass wget ssh joe
Bien, maintenant que nos dépendances sont installées, nous allons pouvoir installer notre outil « SSHC« , on le télécharge :
wget https://github.com/e2ma3n/sshc/archive/master.zip
On décompresse l’archive récupérée :
unzip master.zip
On se retrouve avec un répertoire « sshc-master » dans lequel on se rend pour exécuter l’installeur :
cd sshc-master
./install.sh -i
Voici l’affichage attendu :
Il ne nous reste plus qu’à créer nos profils de connexion ! 🙂
III. Enregistrement de nos profils et utilisation
Pour utiliser SSHC, rien de plus simple :
sshc
L’outil va alors nous demander notre mot de passe de base de données. Cette base de données est chiffrée et permet de stocker nos profils de connexion et surtout nos mots de passe ! Par défaut, le mot de passe de la base de données est « sshc« , pas d’inquiétude, nous allons changer cela, voici le premier affichage attendu :
Ici, nous allons saisir « 0 » pour éditer notre base de données, nous allons donc ensuite avoir un fichier à modifier et dans lequel saisir nos profils de connexion. Un exemple est fournis et les nouvelles entrées sont à saisir tout en bas du fichier (après la deuxième ligne de tiret), voici quelques exemples d’entrées :
root 0 monserveur.fr 0 22 monPassword root 1594 10.1.2.5 0 5222 monPassword
La trame a suivre est la suivante :
utilisateur port_proxy_local IP/dns_serveur port_proxy_distant port_ssh mot_de_passe
Les paramètres « port_proxy_local » et « port_proxy_distant » peuvent être positionnés à « 0 » si non utilisés, ce qui sera le cas la plupart du temps, dans tous les cas il faut mettre une valeur (aléatoire si vous le souhaitez) mais pas un vide ou un espace ! Sachez néanmoins que ceux-ci permettent l’établissement d’un tunnel SSH.
Une fois le fichier rempli, on effectue la combinaison de touche Ctrl+X puis « 0 » et « ENTREE » pour valider nos changements. Un mot de passe nous sera alors demandé pour verrouiller et chiffrer notre base de données, l’occasion de changer le « sshc » par défaut :
Note : L’algorithme de chiffrement utilisé et la méthode de chiffrement sont consultables dans le code source du projet (vive l’open-source ! 🙂 ) il s’agit de l’aes-256-cbc
Une fois le mot de passe saisi, une nouvelle base de données sera créée et chiffrée avec votre mot de passe principal. Lorsque l’on exécutera à nouveau la commande « sshc« , c’est ce mot de passe qu’il faudra saisir pour accéder à vos profils (autrement le message « Database can not decrypted » s’affichera). Voici la vue que l’on aura alors :
Il ne nous reste donc plus qu’à sélectionner le profil de connexion que nous souhaitons utiliser, on se retrouve alors avec plusieurs choix de connexion :
Le choix n°0 permet l’utilisation des paramètres « local_proxy_port » et « remote_proxy_port » pour établir un tunnel, si c’est le mode n°1 qui est sélectionné, ces paramètres seront ignorés est une connexion normale se lancera avec les paramètres saisis (utilisateur, serveur, port et mot de passe).
C’est un outil que je trouve intéressant car il propose une utilisation similaire à Putty et sa gestion des profils. Il aurait néanmoins été appréciable d’avoir la possibilité de ne pas mettre de mot de passe dans la base de données, ce qui n’est pas possible aujourd’hui car cela provoque une erreur d’utilisation de la commande de connexion, un peu dommage. !
Hébergez votre site à partir de 2$ sur 👉👉👉 https://www.tnctech.ca