Uggy : Personnalisation de bannière SSH avec image et texte
mercredi 26 juillet 2017 à 19:15- Récupérer une image idéalement en 32x32
J'ai pris un .png par exemple sur IconArchive.
(Mes 2 lecteurs, partagez vos sources d'icônes pour bannière en commentaires)
- Installation de quelques paquets
Je ne suis plus trop sûr de ce qu'il faut exactement mais probablement
$ sudo apt-get install imagemagick texinfo openjdk-7-jdk coreutils perl git
- Installation de util-say pour convertir les images en "texte"
$ git clone https://github.com/maandree/util-say.git $ ./util-say/img2ponysay dilbert.png > dilbert.txt Error: Unable to access jarfile ./util-say/util-say.jar $ cd util-say && make && cd .. $ ./util-say/img2ponysay dilbert.png > dilbert.txt $ cat dilbert.txt
- ponysay a rajouté les lignes avec les $ qu'il faut virer dans notre cas
Suppression de la ligne qui contient "balloon":
$ sed '/balloon/d' dilbert.txt
Suppression des lignes avec les $:
$ sed s/\\\\$\\\\\\\\\\\\$//g dilbert.txt
Suppression des 5 premiers caractères de chaque ligne pour décaller l'image vers la gauche:
$ sed 's/^.\\{5\\}//g' dilbert.txt
Suppression des 3 premières lignes:
$ sed 1,3d dilbert.txt
Donc la ligne globale:
$ sed '/balloon/d' dilbert.txt | sed s/\\\\$\\\\\\\\\\\\$//g | sed 's/^.\\{5\\}//g' | sed 1,3d > dilbert_cleaned.txt
- Script pour rajouter du texte
On édite le script ci-dessous pour modifier la police, les couleurs, et toutes les infos que l'on souhaite.
#!/bin/bash NAME="Server" OUT="/tmp/$NAME" IP_PRV="" IP_NAT="" IP_PUB="1.2.3.4" SERVICE="XXXX Paris" HD="1 x 50GB" echo "" > $OUT echo "" >> $OUT echo "" >> $OUT toilet -f Graffiti $NAME | lolcat -f -F 0.3 >> $OUT cecho () { local _color=$1; shift echo -ne "$(tput setaf $_color)$@$(tput sgr0)" } black=0; red=1; green=2; yellow=3; blue=4; pink=5; cyan=6; white=7; echo "" >> $OUT #cecho $white "IP Prv: " >> $OUT #echo "$IP_PRV" | toilet -f term | lolcat -f -F 0.4 >> $OUT #cecho $white "IP NAT: " >> $OUT #echo "$IP_NAT" | toilet -f term | lolcat -f -F 0.4 >> $OUT cecho $white "IP Pub: " >> $OUT echo "$IP_PUB" | toilet -f term | lolcat -f -F 0.4 >> $OUT cecho $white "Service: " >> $OUT echo "$SERVICE" | toilet -f term | lolcat -f -F 0.4 >> $OUT cecho $white "Disks: " >> $OUT echo "$HD" | toilet -f term | lolcat -f -F 0.4 >> $OUT cat $OUT echo "" echo "" echo "File output into $OUT"
On peut bien entendu modifier le script pour récupérer les infos automatiquement du serveur et ne pas avoir a modifier les valeurs à la main.
- On installe les 2 paquets suivants utilisés par le script au-dessus
$ sudo apt-get install toilet lolcat
Allez voir le man de chaque commande pour les options.
- On execute le script
$ ./ip.sh
A chaque execution, les couleurs seront un peu différentes
- On joint les 2 fichiers en un seul
$ paste dilbert_cleaned.txt /tmp/Server > server.motd
- On copie le fichier server.motd dans /etc/motd du serveur
- Vérifier dans le /etc/ssh/sshd_config que vous avez bien la ligne:
PrintMotd yes
Original post of Uggy.Votez pour ce billet sur Planet Libre.
Articles similaires
- Uggy : Monter une image disque (.img) contenant plusieurs partitions (08/05/2013)
- Uggy : sshuttle - VPN / SSH (28/07/2013)
- Uggy : Problème de dimension du terminal lors de connexions à travers un port série (23/02/2015)
- Uggy : Backup incrémental avec le Rasp - rdiff-backup (06/12/2013)
- Uggy : Execution de commande lors de la détection d'un mot dans les logs (19/08/2009)