Adrien Kuhn | Blog https://adrienkuhn.com/feed fr Sat, 26 Sep 2015 16:29:45 +0200 <![CDATA[Corrigez vos commandes avec TheFuck]]> https://adrienkuhn.com/fr/blog/corrigez-vos-commandes-avec-thefuck https://adrienkuhn.com/fr/blog/corrigez-vos-commandes-avec-thefuck TheFuck est là pour vous! C'est une application qui corrige automatiquement votre dernière commande. Par exemple, si je tape $ dnf update sans mettre le sudo, vous avez juste à entrer $ fuck et votre commande sera corrigée avec le **sudo**! ## Exemples **TheFuck** fonctionne pour de nombreuses commandes : ![TheFuck corrige vos commandes!](https://raw.githubusercontent.com/nvbn/thefuck/master/example.gif "TheFuck examples") Avec **apt-get** ➜ apt-get install vim E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root? ➜ fuck sudo apt-get install vim [enter/↑/↓/ctrl+c] [sudo] password for nvbn: Reading package lists... Done Avec **git** : ➜ git push fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin master ➜ fuck git push --set-upstream origin master [enter/↑/↓/ctrl+c] Counting objects: 9, done. ou encore ➜ git brnch git: 'brnch' is not a git command. See 'git --help'. Did you mean this? branch ➜ fuck git branch [enter/↑/↓/ctrl+c] * master Vous pouvez également créer vos propres règles! ## Installation Pour l'installer, vous aurez besoin de **pip**, **python** (2.7+ ou 3.3+) et **python-dev**. Sous **Linux** : $ sudo pip install thefuck $ sudo pip install thefuck --upgrade # pour mettre à jour Sous **Mac OS** : $ brew install thefuck Ajoutez ensuite dans votre fichier ~/.bashrc ou votre fichier ~/bash_profile eval "$(thefuck --alias)" # You can use whatever you want as an alias, like for Mondays: # eval "$(thefuck --alias FUCK)" Plus d'infos sur TheFuck.]]> Adrien Kuhn Sat, 26 Sep 2015 16:29:45 +0200 <![CDATA[Être notifié instantanément via son smartphone / ordinateur des connexions SSH sur un serveur]]> https://adrienkuhn.com/fr/blog/etre-notifie-instantanement-via-son-smartphone-ordinateur-des-connexions-ssh-sur-un-serveur https://adrienkuhn.com/fr/blog/etre-notifie-instantanement-via-son-smartphone-ordinateur-des-connexions-ssh-sur-un-serveur Pushbullet est un service permettant l'envoi de notification "Push" entre ses appareils mobiles et ordinateurs, via des applications et des extensions dédiées. Daniel Colson a développé in script Bash, permettant d'envoyer des notifications Push directement depuis la ligne de commande vers son smartphone ou son ordinateur. J'ai alors eu l'idée d'implementer ce script à un filtre Fail2Ban, afin d'être notifié immédiatement lors d'une connexion SSH réussie à un serveur. ![notification connection SSH sur son mobile fail2ban](https://adrienkuhn.com/imagecache/cover/5547ce0f888ed-pushbullet-ssh-notification-fail2ban.jpg "Pushbullet SSH Login notification") Pour implémenter ces notifications, il vous faudra : - Un accès root sur votre serveur - Des connaissances sur le fonctionnement de Fail2Ban - Fail2Ban installé et opérationnel sur votre serveur - Un compte Pushbullet avec une clé API ("Access Token" dans les paramètres du compte) - L'application sur votre téléphone Android/iOS, sur votre PC/Mac, ou sur Chrome/Firefox/Safari/Opera via les extensions officielles - Le script Bash pour envoyer les notifications depuis la ligne de commande - Le filtre et l'action personnalisée pour Fail2Ban détaillés ci-dessous. **Ces explications s'appliquent à Debian 7, il faudra peut être effectuer quelques modifications sur les autres distributions.** ### Configuration de Pushbullet Après avoir créé votre compte Pushbullet et récupéré votre clé API, connectez-vous sur votre serveur, passez en utilisateur root, et executez les commandes suivantes pour récuperer le script Bash : ``` # mkdir -p Scripts && cd Scripts # git clone https://github.com/Red5d/pushbullet-bash.git ``` Fail2Ban étant exécuté avec par l'utilisateur root, il faut créer le fichier de configuration de Pushbullet dans le dossier /root : ``` # cd /root # mkdir -p .config # vi .config/pushbullet ``` Ajoutez alors la ligne suivante > API_KEY=votre_clé_personnelle puis enregistrez et quittez. Vous devriez dorénavant pouvoir envoyer des notifications à tous vos appareils depuis la ligne de commande : ``` # echo "Ceci est une notification de test" | /root/Scripts/pushbullet-bash/pushbullet push all note "Notification de test" ``` ### Configuration de Fail2Ban **Attention : de mauvaises modifications peuvent faire planter votre installation de Fail2Ban. N’hésitez pas à faire des copies de sauvegardes des fichiers avant de les modifiés.** Pour configurer Fail2Ban, il faudra éditer 3 fichiers : - **/etc/fail2ban/jail.local** (le fichier de configuration de Fail2Ban) - **/etc/fail2ban/filter.d/sshd-notify.con**f (le filtre qui récupère les connexions SSH réussies) - **/etc/fail2ban/action.d/ssh-push-notify.conf** (l'action exécutée lors d'une connexion réussie) Dans le fichier **jail.local**, ajouter le bloc suivant : > [ssh-notify] > enabled = true > filter = sshd-notify > action = ssh-push-notify[name=SSH] > maxretry = 1 > bantime = 1 > logpath = /var/log/auth.log (si ce fichier n'existe pas, faite une copie du fichier jail.conf en jail.local, **mais n'éditez pas le fichier jail.conf**) Créez le fichier **sshd-notify.conf** dans le dossier **filter.d** et ajoutez les lignes suivantes : > [Definition] > failregex = Accepted [-/\w]+ for .* from > ignoreregex = Enfin, créez le fichier **ssh-push-notify.conf** dans le dossier **action.d** et ajoutez les lignes suivantes : > [Definition] > actionstart = /root/Scripts/pushbullet-bash/pushbullet push all note "Fail2Ban SSH-Notify started" > actionstop = /root/Scripts/pushbullet-bash/pushbullet push all note "Fail2Ban SSH-Notify stopped" > actioncheck = > > actionban = echo "Hi, > The IP \ just connect to \ via SSH\n > Here are more information about :\n\n > \`whois `\n\n > " | /root/Scripts/pushbullet-bash/pushbullet push all note > actionunban = > > [Init] > \# Default name of the chain > \# > name = default > > \# Server name > host=yourhostname **"actionstart"** et **"actionstop"** permettent d'envoyer une notification lors du démarrage et de l'arrêt de Fail2Ban. **"actionban"** est l'action exécuté lors de la détection d'une connexion SSH réussie. Ici, dans le contenu de la notification, on envoi l'IP qui s'est connectée, ainsi que le "whois" associé. Par sécurité, il est préférable de **ne pas envoyer d'informations sensibles**, comme le nom d'utilisateur. Le paramètre **"all"** dans chacune des actions permet d'envoyer la notification à tous les appareils liés au compte Pushbullet. Vous pouvez envoyer ces notifications à un seul appareil. **"actionunban"** n'est pas utile dans notre cas d'utilisation. N'oubliez pas de remplacer le **"host"** par le nom de votre serveur. Vous pouvez maintenant redémarrer Fail2Ban : ``` # service fail2ban restart ``` Vous devriez alors recevoir une notification "Fail2Ban SSH-Notify started", et vous recevrez dorénavant une notification à chaque connexion SSH réussie. N’hésitez pas à faire part de vos remarques en commentaire.]]> Adrien Kuhn Sat, 07 Feb 2015 20:03:59 +0100 <![CDATA[Installer Adobe Brackets sous Fedora]]> https://adrienkuhn.com/fr/blog/installer-adobe-brackets-sous-fedora https://adrienkuhn.com/fr/blog/installer-adobe-brackets-sous-fedora Brackets.io est un éditeur HTML/CSS/JavaScript créé par Adobe et publié sous licence MIT. Des paquets sont disponible pour les distributions basées sur Debian, mais pas pour les autres. J'ai finalement trouvé un paquet RPM pour Fedora 20, qui fonctionne parfaitement sous F19. ![adobe brackets rpm](https://adrienkuhn.com/imagecache/cover/5547ca113d7d8-adobe-brackets-fedora.png "install adobe brackets fedora") Pour installer la **version 0.34**, rien de plus simple (**après avoir installé nodejs et npm**), il faut récupérer brackets, brackets-libs et appjs. _EDIT: il semble que certains des paquets que j'avais mis à votre disposition sont corrompus, veuillez donc les téléchargés via les liens ci-dessus._ _Linux i686:_ ``` $ cd ~ $ sudo yum localinstall brackets-0.34-1.fc20.i686.rpm brackets-libs-0.34-1.fc20.i686.rpm appjs-0.0.20-1.fc20.i686.rpm ``` _Linux x64:_ ``` $ cd ~ $ sudo yum localinstall brackets-0.34-1.fc20.x86_64.rpm brackets-libs-0.34-1.fc20.x86_64.rpm appjs-0.0.20-1.fc20.x86_64.rpm ``` puis lancez via le lanceur créé ou la commande ``` $ brackets ``` ]]> Adrien Kuhn Thu, 28 Nov 2013 19:40:33 +0100 <![CDATA[Un remplacant à padevchooser (PulseAudio Device Chooser)]]> https://adrienkuhn.com/fr/blog/un-remplacant-a-padevchooser-pulseaudio-device-chooser https://adrienkuhn.com/fr/blog/un-remplacant-a-padevchooser-pulseaudio-device-chooser Adrien Kuhn Mon, 13 Aug 2012 19:30:14 +0200 <![CDATA["Grub fail" après mise à jour vers Fedora 17]]> https://adrienkuhn.com/fr/blog/grub-fail-apres-mise-a-jour-vers-fedora-17 https://adrienkuhn.com/fr/blog/grub-fail-apres-mise-a-jour-vers-fedora-17 Adrien Kuhn Thu, 07 Jun 2012 18:41:38 +0200