PROJET AUTOBLOG


Blog-Libre

Site original : Blog-Libre

⇐ retour index

Autour de SSH

dimanche 13 mai 2018 à 11:15

Depuis que j’ai commencé mon nouveau boulot, j’ai bricolé des trucs mais je suis bien incapable de reconnaître si c’est bien ou cruellement mauvais. Pour rappel je suis autodidacte, il est parfois difficile de savoir quand on suit une mauvaise voie alors je partage avec vous ;)

Complétion SSH

On tape ssh luig, on appuie sur Tab, la complétion affiche alors ssh luigi.pizza.net.

Dans mon ~/.bashrc, j’ai complete -W "$(<~/.ssh/hosts)" scp ssh sshfsu qui me permet d’avoir la complétion pour scp, ssh et ma fonction sshfsu. Le fichier hosts n’est pas un fichier système, c’est moi qui le maintiens avec une liste des serveurs sur lesquels je me connecte. Ça marche parfaitement, rien à dire, je ne peux plus m’en passer. J’ai vu que certains parsent le fichier ~/.ssh/know_hosts. Sur Ubuntu par défaut le nom des hosts est hashé . On peut via une option SSH afficher en clair le nom des hosts dans know_hosts mais c’est déconseillé, ça abaisse la sécurité. Je vous renvoie vers l’article Sécuriser son fichier SSH known_hosts.

D’autres parsent le fichier ~/.ssh/config, je crois que c’est la solution que j’ai vu la plus souvent revenir. En ce qui me concerne, ça ne s’applique pas bien à mon utilisation. J’utilise une “bête” liste contenant plus de 200 serveurs. L’avantage c’est que c’est clair, simple, rien à parser. L’inconvénient, aucune automatisation. Je récupère la liste des serveurs de mon entreprise et l’envoie dans ~/.ssh/hosts via un script mais je parle d’automatisation directement avec SSH. Se baser sur ~/.ssh/know_hosts était clairement le bon plan. Le fichier se met à jour dès qu’on se connecte à un serveur et on l’a alors en complétion. Remarquons tout de même qu’à l’heure d’aujourd’hui où il n’est plus rare de jongler avec des centaines de conteneurs et serveurs, il peut être pertinent d’avoir déjà une liste bien remplie plutôt que la remplir au fil de l’eau en se connectant sur chaque serveur.

Comment procédez-vous de votre côté ? Pour Zsh, ça m’intéresse également.

ssh-agent

Wikipédia explique bien le concept de ssh-agent. Le but principal est d’éviter de retaper la phrase secrète de notre clé SSH privée 30 fois si on se connecte à 30 serveurs (je simplifie). Pour la majorité des distribs l’agent est chargé au lancement de la session graphique. Je suis sur Xubuntu et dans /etc/X11/Xsession.options, j’ai une option use-ssh-agent.

Il y a 247 manières de gérer le ssh-agent : manuellement, des fonctions dans ~/.bashrc, un service systemd (voir ArchWiki), j’ai retenu pour ma part Keychain (GitHub). C’est le plus simple je trouve, ça s’occupe de tout, ça gère SSH et GPG enfin je n’ai pas retesté depuis mais c’était le seul à ne pas me redemander ma phrase secrète lorsque j’ouvrais un nouvel onglet sur Terminator.

apt install keychainsed -i '/use-ssh-agent/s/^/#/' /etc/X11/Xsession.options # On commente la ligne use-ssh-agent sinon on a des messages d'erreurseval $(keychain --eval --quiet id_ed25519) # À placer dans ~/.bashrc

La prochaine fois que vous ouvrirez un terminal, il vous demandera votre phrase secrète puis terminé. Je vous renvoie vers l’article de Qanuq très complet sur keychain. Puisqu’on parle de ssh-agent je recommande chaudement l’article de Aeris sur ssh-agent + agent-forward.

Fonctions SSHFS

Au début j’avais appelé cette fonction sshfsup puis j’ai changé son nom en sshfsu, elle est à placer typiquement dans ~/.bashrc. Elle me permet de monter aisément un serveur via SSHFS : sshfsu server1.blog-libre.org. À noter que j’ai activé la complétion pour cette fonction. Vous pouvez remplacer /var par ce que vous voulez évidemment genre ~/, / etc. Merci de ne pas me souffler dans les commentaires “oh la la c’est pas très très bien/pro”, j’en ai besoin et le but est de partager, ça peut servir à d’autres dans un contexte non professionnel.

sshfsu() {cd && mkdir -p ${1%%.*}; sshfs cascador@$1:/var ${1%%.*}; (caja ${1%%.*} &> /dev/null &)}

J’utilise le Parameter Expansion de Bash, $1 c’est donc server1.blog-libre.org, ${1%%.*} devient donc server1.
cd && mkdir -p ${1%%.*} : Je me place dans ~/ puis crée le dossier server1
sshfs cascador@$1:/var ${1%%.*} : Je monte le serveur via SSHFS
(caja ${1%%.*} &> /dev/null &) : J’ouvre le dossier server1 dans le navigateur de fichiers (caja). A noter que j’aurais pu utiliser xdg-open à la place de caja ainsi ça aurait été le navigateur de fichiers par défaut qui aurait été utilisé, c’est ce que je vous recommande d’ailleurs

La fonction sshfsd (sshfsdown) me permet de démonter tous les montages SSHFS d’un coup (en général je n’en ai qu’un). Simple, efficace et élégante. Quelqu’un a mieux ?

sshfsd() {mount -t fuse.sshfs | awk '{system("fusermount -u " $3 " && rmdir " $3)}'}

mount -t fuse.sshfs : Je liste les montages dont le type de système de fichiers est SSHFS
awk '{system("fusermount -u " $3 " && rmdir " $3)}' : Grâce à awk (voir Input/Output Functions pour system) on prend la 3ème colonne qui correspond au point de montage (avec l’exemple de sshfsu, ça donnera /home/cascador/server1) puis on démonte fusermount -u et on supprime le dossier rmdir

Autres liens intéressants

Je vous invite à consulter les articles de la marque OpenSSH sur le Jdh et vous recommande particulièrement celui de Arnaud et Guillaume. Je vous rappelle également mes articles sur l’option Match de sshd_config et sur le bien utile sshrc.

Je n’ai pas parlé de ~/.ssh/config si je le fais ce sera dans un autre article, celui-ci étant déjà costaud.

Tcho !

Iceman, être et rester ouvert

samedi 12 mai 2018 à 19:00

Iceman est un blogueur découvert grâce à Cyrille (merci). Je dirais que c’est un « vrai » blogueur, il parle musique, cinéma, bd, réflexions, géopolitique, linux. Il parle de ce qu’il veut comme il veut en fait.

Avant de mettre un nouveau blog/site dans mon lecteur de flux RSS (FreshRSS), je lis quelques anciens articles puis je reviens jeter un œil de temps en temps aux nouveaux. Si ça me plaît, je finis par rajouter le fil dans mon lecteur RSS. Je n’ai jamais ajouté Iceman dans mon lecteur RSS. Je m’en suis fait la réflexion récemment. Je crois que dans ma façon d’aborder ses billets, je picore et je découvre. C’est un plaisir, une surprise renouvelés. Ça n’a rien à faire dans mon lecteur RSS au final, il fait partie de l’imprévisible et de la découverte, c’est ma fenêtre sur le monde du week-end.

Iceman parle justement du monde, mon dieu que c’est bon de lire quelqu’un qui ne parle pas que de la France ! Iceman est cultivé, on apprend des choses, on voyage. Il n’a pas de plan, pas de thème, il a juste comme nous tous des sujets qu’il aime et qui l’intéresse. Iceman ne plaira pas à la foule, il fait trop de choses différentes pour qu’on puisse le catégoriser. C’est là une force, la certitude de ne pas savoir de quoi parlera son prochain billet.

L’internaute casanier va lire et chercher ce qui l’intéresse, ce qui lui plaît, ce que son entourage ou sa communauté lit. Ne faites pas (que) ça !

Lisez des choses nouvelles et inattendues, écoutez de la musique que vous n’auriez jamais écouté, échangez avec des gens aux antipodes de vos idées, embrassez la différence, c’est comme ça qu’on découvre, comme ça qu’on développe son argumentation et son esprit critique, qu’on saisit les nuances, qu’on devient tout en nuance… et bien plus supportable en tant qu’être humain.

Je vous recommande chaudement son dernier article.

J’ai ouvert un compte Mastodon

samedi 12 mai 2018 à 18:00

Je parlerai du pourquoi plus tard, je détaille seulement le comment aujourd’hui.

J’ai des convictions.

Je vous invite à relire le billet de Carl sur le choix de l’instance Mastodon… ainsi que les commentaires. J’ai choisi Framapiaf parce que j’ai confiance en la pérennité de l’instance, j’adhère à ses conditions d’utilisation et je suis convaincu des grandes qualités de son équipe.

Compte. RSS.

Comment neutraliser la télémétrie imposée par Nvidia ?

samedi 12 mai 2018 à 08:00

Nvidia utilise la télémétrie sur votre ordinateur pour surveiller l’usage de votre carte graphique sous Windows.

La télémétrie est utilisée pour améliorer le service fourni en général et détecter des problèmes afin de les résoudre. Ça part d’un bon principe.

Oui mais

Le « oui mais » est que les bons principes sont souvent dévoyés. Cette télémétrie est imposée et le consentement de l’utilisateur n’est pas demandé. Ce qui 1) n’est pas très poli 2) j’aime avoir le choix de dire oui ou non quand on me propose quelque chose. Sinon, ça n’est plus proposer, c’est imposer.

Il est donc possible de stopper cette télémétrie, manuellement en se rendant dans le Planificateur des taches sous Windows (voir le lien ici) soit en installant une programme qui le fera pour vous (lien ici).

Décidément  certaines entreprises numériques ont un problème avec la transparence de leurs usages et le consentement de leurs utilisateurs. Quand c’est non, c’est non.

La presse en ligne termine sa mutation

jeudi 10 mai 2018 à 21:00

Aujourd’hui fin du site éditorial HardWare.fr après sa 21ème bougie.
Next INpact ne s’en sort pas trop mal avec un équilibre relatif et fêtait ses 15 ans le 5 mai.
Le 1er mai c’était les 18 ans de Clubic qui (re)devient indépendant et dont la première année sous sa nouvelle forme sera décisive pour son avenir.
Numerama a bien remonté la pente du haut de ses 10 ans, les articles de Numerama Backstage sont intéressants à lire sur son évolution.
01net est probablement le site le plus visité et aussi le moins qualitatif.

Le modèle gratuit financé par la publicité a fait son temps, la centralisation avec Google et Facebook cannibalisant les recettes publicitaires aura profondément changé le visage de la presse en ligne.

Il ne va pas rester grand chose de qualité et de généraliste à lire niveau actualités informatique… Mon Internet est mort.

Tcho !