Notes et astuces sur les systèmes libres basés sur GNU/Linux

Aller au contenu | Aller au menu | Aller à la recherche

mardi, 16 octobre 2012

Utilisation de TrueCrypt sous Archlinux

Bonjour,

Tout d'abord un bref rappel de la fonction de TrueCrypt.

Il s'agit tout simplement d'un logiciel multiplateforme open-source permettant le chiffrage/déchiffrage à la volée d'un fichier/dossier/partition ou d'un disque. C'est une application très puissante permettant de sécuriser de manière forte vos données. Pour plus d'informations, je vous renvoie vers le site officiel de Truecrypt.

J'utilise quotidiennement TrueCrypt pour chiffrer (attention chiffrer n'est pas crypter) ma clé USB.
Je me balade avec l'ensemble de mes documents personnels sur moi, aussi je dois être capable de faire tourner Truecrypt sous Windows ou Archlinux.

Ayant rencontré une petite difficulté pour le faire fonctionner, je me permets de la partager.

Installation :

Pour installer Truecrypt sous Archlinux, il suffit de taper la ligne de commande suivante :

pacman -Sy truecrypt

Cependant ce n'est pas suffisant, il faudra prendre soin de charger les modules fuse et loop.
Je vais donc créer les fichiers dans /etc/modules-load.d

cat /etc/modules-load.d/loop.conf
#Pour assurer le fonctionnement de Truecrypt
loop

cat /etc/modules-load.d/fuse.conf
#Pour assurer le fonctionnement de Truecrypt
fuse

Pour effectuer l'opération manuellement, vous pouvez effectuer la commande suivante :

# modprobe -v loop
# modprobe -v fuse

Utilisation :

Pour monter un container chiffré sur un point de montage, il faudra effectuer la commande suivante :

truecrypt /path_du_fichier_truecyrpt /path_point_de_montage

Il vous sera demandé soit une clé de déchiffrement soit un mot de passe, puis un mot de passe administrateur ou utilisateur si vous avez sudo de configurer. Après avoir entré vos passwords, vous aurez deux entrées de plus dans votre table de montage :

#mount
truecrypt on /tmp/.truecrypt_aux_mnt1 type fuse.truecrypt (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
/dev/mapper/truecrypt1 on /home/thomas/usb type vfat (rw,relatime,uid=1000,gid=100,fmask=0077,dmask=0077,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

Pour démonter l'ensemble de vos dossiers chiffrés :

truecrypt -d

Source:
Plus d'informations sur le chargement des modules avec systemd
Wiki Archlinux sur Truecrypt

samedi, 5 mai 2012

Migrer ses clés SSH de putty vers ArchLinux et SSH Agent

OpenSSH

Aujourd'hui, je souhaiterais vous faire part de ma migration SSH de Windows/Putty vers une solution basée sur ArchLinux et SSH-Agent.

Comme beaucoup d'entre-vous, j'avais mon poste de travail sous Windows et j'utilisais intensivement Putty afin de gérer mes serveurs. Depuis peu, j'ai eu la chance de pouvoir migrer mon poste de travail sous ArchLinux. Il était important de pouvoir utiliser rapidement mon GNU/Linux pour me connecter à mes serveurs.

Exporter son trousseau de clé SSH depuis Putty :

La première étape consiste à démarrer l'utilitaire Putty Key Generator. Il est installé avec Putty si vous avez choisi une installation complète.

Boite de dialogue Putty Key Generator
Chargez votre clé privée dans cet utilitaire en utilisant le bouton Load.

Dans chaque fichier clé ppk est contenu votre trousseau clé public/privé, cela va nous permettre de sauvegarder notre clé publique en faisant un copié/collé de la boite nommée Public Key for pasting into Open SSH authorized keys. Creez un nouveau fichier à l'aide de votre éditeur favoris puis sauvegardez le sous id_rsa.pub ou id_dsa.pub selon le chiffrement de votre clé.

Pour exporter votre clé privée dans un format compatible avec votre client OpenSSH, cliquez sur le menu Conversions, puis sur Export OpenSSh key, une boite de dialogue vous propose de sauvegarder votre fichier, enregistrez le sous le nom id_rsa ou id_dsa.

Déployer sa clé SSH sur ArchLinux :

Commencez par installer le paquet openssh sur votre distribution :

yaourt -Sy openssh

Une fois ceci fait, placez votre clé privée et votre clé publique venant de Putty dans le répertoire ~/.ssh de votre utilisateur.

Exporter votre clé publique sur votre serveur :

cat .ssh/id_dsa.pub | ssh mlx@M1.foo.org \
                  "cat - >>.ssh/authorized_keys"

Verifiez également sur votre serveur que la configuration du service SSH (/etc/ssh/sshd_config) comporte les lignes suivantes :

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile	%h/.ssh/authorized_keys

Si besoin, rechargez la configuration du service SSH si vous l'avez modifiée :

/etc/rc.d/ssh reload

Normalement à votre connexion à votre serveur, vous devriez obtenir l'invite suivante :

Enter passphrase for key '/home/thomas/.ssh/id_rsa':

L'authentification de votre serveur est sécurisée mais vous devrez entrer la passphrase à chaque connexion. Sachant que normalement celle ci doit être plus compliquée que votre mot de passe, ce n'est pas le pied !!

L'agent-ssh, le gardien de vos clés :

Pour résoudre le problème précédent, nous allons utilisez un outil fourni avec le client ssh, j'ai nommé l'agent-ssh. Cet utilitaire va vous permettre de gérer plusieurs trousseaux de clés et surtout de vous éviter de retaper votre pass phrase à chaque connexion à votre serveur.

On commence par exécuter l'agent :

ssh-agent
> SSH_AUTH_SOCK=/tmp/ssh-test/agent.134; export SSH_AUTH_SOCK;
> SSH_AGENT_PID=135; export SSH_AGENT_PID;
> echo Agent pid 135;

Il suffit maintenant de faire un copié/collé des deux premières lignes pour exporter les variables requises pour le bon fonctionnement de l'agent-ssh.

SSH_AUTH_SOCK=/tmp/ssh-test/agent.134; export SSH_AUTH_SOCK;
SSH_AGENT_PID=135; export SSH_AGENT_PID;

Puis il faut dire à votre agent de s'occuper de votre trousseau de clé :

ssh-add
> Enter passphrase for /home/thomas/.ssh/id_rsa: 
> Identity added: /home/thomas/.ssh/id_rsa (/home/thomas/.ssh/id_rsa)

On peut maintenant vérifier que votre clé est bien gerer ssh-agent en tapant la commande suivante :

ssh-add -l
> fingerprint_de_votre_clé /home/thomas/.ssh/id_rsa (RSA)

Une fois ces commandes effectuées, vous n'aurez plus besoin de taper votre mot de passe, ni votre pass phrase dans un certain nombre de cas.

  • L'agent-ssh étant lancé depuis une fenêtre d'un terminal, il n'est pas accessible depuis un autre terminal
  • Vous êtes obligé de taper votre pass phrase au moins une fois par session

Manipulation autour de ssh-agent :

Afin d'accéder depuis l'ensemble de vos applications à votre ssh-agent, je vous conseille de l’exécuter automatiquement à l'initialisation de votre session. Pour ce faire placez le script suivant dans votre $HOME/.profile ou $HOME/.login selon votre préférence :

ssh-agent > /tmp/ssh.keys    # pour y mettre les variables environnement
.  /tmp/ssh.keys                # Exporter les variables
rm  /tmp/ssh.keys               # Faire le ménage après

Enfin, si vous ne souhaitez pas taper votre de passe du tout, j'ai fait ce bidouillage (à vos risques et périls!)

Modifiez votre fichier .profile afin d'obtenir :

cat .profile
> export SSH_ASKPASS="/home/thomas/.ssh/add-passphrase.sh"
> ssh-agent > /tmp/ssh.keys    # pour y mettre les variables environnement
> .  /tmp/ssh.keys                # Exporter les variables
> rm  /tmp/ssh.keys               # Faire le ménage après
> ssh-add .ssh/id_rsa < /dev/null

Creez le fichier add-pasphrase.sh :

cat .ssh/add-passphrase.sh 
> #!/bin/sh
> cat /home/thomas/.ssh/key-passphrase

Puis créez le fichier key-passphrase en y insérant uniquement votre passphrase.

Mettez les autorisations qui vont bien aux deux derniers fichiers :

-rwx-- 1 thomas users add-passphrase.sh
-rw--- 1 thomas users key-passphrase

Normalement une fois ceci fait à la prochaine ouverture de session, plus aucun mot de passe ne doit vous être demandé. En effet, le seul moment où vous deviez taper votre passphrase (ssh-add), nous lui avons retourné le fichier /dev/null, ainsi il va consulter la variable SSH_ASKPASS qui contient un script lui retournant le mot de passe.

Bon c'est un peu alambiqué mais cela me semble un peu sécurisé et puis surtout bien pratique.

That's all folks !!

samedi, 17 mars 2012

Installation de QEMU/KVM geré par Libvirt sous Archlinux

Bonjour,
virtualisation

Un petit billet pour coucher sur l'écran la procédure d'installation de QEMU-KVM allié à une GUI virt-manager sous ArchLinux.

QEMU est un logiciel de virtualisation fonctionnant sous GNU/Linux qui permet d'émuler un ou plusieurs systèmes d'exploitations sur votre ordinateur hôte.

KVM est un fork de QEMU apportant le support du module KVM qui améliore sensiblement la vitesse de virtualisation. Même si dans cet article, nous allons utiliser à proprement parler le logiciel KVM, j'utiliserai quand même l’appellation QEMU/KVM.

D'abord, une petite vérification de la capacité de votre processeur à utiliser correctement le module KVM :

egrep '^flags.*(vmx|svm)' /proc/cpuinfo >/dev/null && echo OK || echo KO

Si vous avez OK, vous pouvez passer aux étapes suivantes, sinon il faudra vous contenter de QEMU tout seul.

Voici les paquets dont nous avons besoin et leur intérêts :

  • qemu-kvm : le logiciel qui va vous permettre d'émuler vos machines.
  • virt-manager : une GUI pour gérer vos machines virtuelles.
  • dnsmasq : Forwader DNS et serveur DHCP léger, indispensable pour fournir du réseau à vos machines émulées.
  • virtinst : CLI permettant de gérer le provisionning des machines virtuels.
  • libvirt : API pour dialoguer avec vos machines virtuelles (openvz,kvm,qemu,virtualbox,xen,etc..)

Maintenant, il suffit de les installer avec votre gestionnaire de paquet favoris :

yaourt -Sy qemu-kvm virt-manager dnsmasq virtinst libvirt

Afin de pouvoir utiliser notre application en tant qu'utilisateur, il est necessaire de vous mettre dans le groupe KVM :

sudo usermod gamoth -aG kvm

Pour ceux qui ont la chance de supporter le module KVM (cf ligne de commande plus haut), il est temps de le charger :

sudo modprobe -v kvm

Et selon la marque de votre processeur de charger également l'un des deux modules suivants :

sudo modprobe -v kvm_intel
sudo modprobe -v kvm_amd

Ensuite, il est necessaire de lancer le daemon vous permettant de communiquer avec vos machines virtuelles :

sudo /etc/rc.d/libvirtd start

Les paramétrages précédents ne sont valables que pour la session en cours. Aussi, pour éviter ces manipulations à chaque utilisation de votre solution de virtualisation, je vous conseille de modifier le rc.conf :

sudo nano /etc/rc.conf :
MODULES=(kvm kvm_amd ...)
DAEMONS=(libvirtd ...)

Ensuite, il vous suffit de lancer la commande pour pouvoir bénéficier de votre travail:

virt-manager

Pour plus d'information sur l'utilisation de l'outil en lui-même, je vous renvoie vers ce billet très complet de NicoLargo.

A tantôt tout le monde !

mardi, 21 février 2012

Paramètrages "avancés" de Midnight Commander

Bonjour,

Il y a trois mois dans cet l'article, je vous avais promis de vous donner deux trois astuces complémentaires.
Mon ordinateur de boulot fonctionnant sous Windows 7, je n'ai pas eu l'occasion de me replonger sur le merdier (mc).

Pourquoi maintenant me direz-vous ?
Parce que j'ai réussi à installer Archlinux sur un de mes PC de boulot. La chose n'a pas été aisée mais je ne rentrerai pas dans les détails aujourd'hui, un article est prévu pour vous décrire par le menu mes péripéties.
Tout ça pour dire que je suis bien content de pouvoir travailler sous Archlinux, cela me permet de tester rapidement les applications et configurations de ma (votre) distribution préférée.

Pour revenir au but du billet, voici quelques petites choses qui devraient vous permettre de vous sentir chez vous avec Midnight Commander.

Choisir ce qu'affiche Midnight Commander :
Par défaut, mc n'est peut être pas à votre goût, sachez que vous pouvez le configurer simplement grâce à un certain nombre de boite de dialogue. Voici les options que j'ai choisi pour l'affichage des fichiers.
Il faut activer le menu du haut (F9), puis choisir le menu contextuel Option (o) et sélectionner l'item Panel Options. La boite de dialogue ci-dessous vous permettra de cocher/décocher les options de votre choix à l'aide de la touche espace.
Dans notre cas, il suffit de décocher la ligne Show hidden files afin de ne plus afficher les fichiers cachés.
Décocher également l'affichage des fichiers backup.
Cocher la ligne Mix all files. Cela permet d'avoir un tri alphabétiques sur les fichiers/dossiers confondus.

MC Panel Option

Une recherche rapide dans un listing de fichiers :
Dans beaucoup d'explorateurs de fichiers, vous pouvez préselectionner un fichier en tapant ces initiales. Avec mc, la chose est possible.
La recherche d'un pattern s'effectue à l'aide du raccourci clavier Ctrl+s. Pour changer d’occurrence, il suffit de retaper Ctrl+s. Il est à noter que la recherche peut s'effectuer avec des jokers Bash (* ?), ce qui est plutôt agréable.

MC search pattern

C'est tout pour ce billet, Midnight Commander permet bien d'autres choses comme :

  • la copie en tâches de fond
  • la gestion de connexion smb,ftp, ssh
  • Regler le mode listage
  • Configurer les menu
  • Configurer les hotkeys
  • Configurer les raccourcis claviers
  • Configurer l'affichage de l'explorateur (deux panels, un panel, vertical, hortizontal ...)
  • Gestion du multi-ecran
  • Comparaison de fichiers
  • ....

Mais ce ne sont pas des fonctionnalités que j'utilise donc je ne rentrerai pas dans le détail. Sachez que cela existe et que si cela vous intéresse la documentation est là pour vous. En espérant, vous avoir fait découvrir quelque chose à travers ces deux billets.

Merci de votre lecture et de vos commentaires qui sont toujours les bienvenus.

La Pêche !!!

mercredi, 23 novembre 2011

Unable to find template : Un problème de thème ancien avec Dotclear

Hello, Aujourd'hui, un petit partage d'information rapide sur le moteur de mon blog.
Comme vous avez peut être pu le constater, mon blog a fonctionné dans des conditions dégradées depuis quelques jours.
Le problème vient d'être résolu avec succès grâce à la communauté (très) active de Dotclear. Encore un grand merci à eux !

L'anomalie pouvait se résumer de la manière suivante :
Tous les liens pointant sur les tags de mes articles n'étaient plus fonctionnels, du coup les gens venant du planet.archlinux.fr tombaient sur un joli message d'erreur indiquant :

Dotclear
Unable to find template
Something went wrong while loading template file for your blog.

Je pense que le soucis est survenu suite à ma mise à jour en version 2.4.

La solution ?
Puisque mon vieux thème BusinessBlog n'était plus compatible. Il a fallu que je crée un répertoire TPL dans le thème BusinessBlog et que je replace les fichiers HTML du thème dans le répertoire TPL.

Rien de bien sorcier donc, mais encore faut-il le savoir ! Maintenant, il n'y a plus de problème sur mon blog et je croise le bois :p pour les éviter.

La pêche !

vendredi, 18 novembre 2011

Gestion de fichier avec Midnight Commander : A minuit tous les fichiers sont gris ...

Bonjour,

Aujourd'hui j'aimerais vous présenter un gestionnaire de fichier que j'utilise depuis plusieurs semaines.
Son utilisation m'a été suggéré lors d'un billet de WeedFast.
En effet, ce dernier nous présentait ses coups de cœur applicatifs du moment. Il faisait l'éloge de Ranger, un navigateur de fichier CLI. Après l'avoir essayé quelques jours, je ne le trouvais pas intuitif et peu pratique.
Il avait cependant noté une alternative nommée Midnight Commander.

loupe.jpg

Quelques informations à savoir sur Midnight Commander avant de commencer


  • Ce logiciel est un gestionnaire de fichier en ligne de commande comme Ranger. Son interface en ncurse permet de l'utiliser de manière semi-graphique avec sa petite souris.
  • Son gros point fort pour moi est son ergonomie et sa facilité de configuration.
  • Ce projet a été inspiré de Norton Commander.
  • Midnight Commander est aussi appelé mc
  • Il a l’extrême avantage d'être multiplateforme (GNU/Linux, GNU/Hurd, FreeBSD, NetBSD, OpenBSD, Solaris, MS Windows).
  • Pour finir, il est développé par une célébrité du monde du libre : Miguel de Icaza.


Je trouve que la phase la plus difficile d'adoption/apprentissage d'un nouveau logiciel réside dans les premiers jours d'utilisation. Aussi, afin de vous convertir tout en souplesse, je vais essayer de vous accompagner dans vos premiers pas avec ce logiciel merveilleux.

Première étape, l'installation

Si vous êtes sous Archlinux, Debian ou Ubuntu, le logiciel se trouve dans les dépôts officiels :

yaourt -S mc
aptitute install mc

Notons que Midnight Commander n'a pas besoin de beaucoup de dépendances.

Deuxième étape, on rentre puis on sort ...

Une fois installé, on va le lancer sinon .... et ben ça sert à rien.
Un simple mc suffit à utiliser le bestiau.

screen.png

Remarquez que Midnight Commander a le bon gout de vous afficher l'arborescence du répertoire de son appel. Je m'explique si vous l'appelez depuis la racine il va vous afficher l’arborescence de la racine.
Je souligne ce point car c'est un avantage des applications en ligne de commande par rapport aux GUI ...

Comme vous pouvez le constater, l'application a une légère teinte bleuté (le thème est modifiable).
Elle affiche le répertoire de lancement sur le panneau de gauche et votre répertoire personnel sur la droite.
Cette disposition s'avère très pratique pour toutes les manipulations de fichiers (copier/coller, déplacement ...).
Une petite configuration permettra de supprimer un panneau si vous le souhaitez.
Enfin, un ensemble de bouton est présent en haut et en bas surlignés par un joli cyan.
Ces derniers vous permettront d'effectuer l'ensemble des configurations et des manipulations, ils seront accessibles par la souris et/ou un raccourci clavier.

Les raccourcis listés en bas sont accessibles via les touches Fonctions suivis du numéro indiqué. Par exemple pour accéder au menu, il faut appuyer sur F2.

index.jpg Pour obtenir de l'aide appuyez sur la F1, ensuite les touches directionnelles permettent d'accéder au contenu très riche. Les touches haut et bas assurent la sélection des liens et le défilement vertical. Les flèches gauche et droite permettent de suivre les liens ou de revenir en arrière.

quit.pngPour fermer une boite de dialogue ou l'application, utilisez le raccourci F10 ou cliquez sur le pseudo-bouton Quit affiché en bas à droite sur l'interface Ncurse.

Pour la barre de menu affichée en haut, elle est accessible à la souris ou en appuyant sur la touche F9 suivi de Tabulation ou de la Hotkey. Pour accéder au menu File : je tape sur F9 puis la touche f....

Troisième étape, les fondamentaux de tous gestionnaires de fichiers


Les déplacements :

  • Soit vous utilisez votre souris et cliquer sur les répertoires sur les répertoires affichés dans les panneaux comme une bête application graphique.
  • Soit vous tapez des petits cd dans le micro-terminal du bas.
cd /home/gamoth
  • Soit vous utilisez le Quick cd, en appuyant sur les touches Alt+c ou Echap+c selon la compatibilité de votre terminal.


cd.png

Le copier/coller :

bouton_copier.pngUne fois que vous avez fait mumuse en vous déplaçant, vous souhaitez peut être copier/coller des fichiers.
Pour ce faire, sélectionnez ce que vous souhaitez copier/coller avec la touche Inser ou Controle+t puis appuyez sur F5. Une boite de dialogue s'ouvre, vous proposant de copier votre sélection vers un autre répertoire de votre choix. Par défaut, le chemin est celui de votre panneau de droite.

copy.png

Le couper/coller, renommage et déplacements de fichiers

1_cut_32.pngMaintenant les couper/coller ou les mv. Même principe que la manipulation précédente, sélection des fichiers avec Inser ou Controle+t mais au lieu de F5 utilisez F6.

Suppression

6a1dc0091b2f607bda90812ea6dd5b30.pngPour supprimer quoique ce soit (fichiers, répertoires vides ou pleins), sélectionnez vos fichiers à l'aide des raccourcis Inser ou Controle+t puis F8.

suppr.png

Un historique de vos précédentes commandes

historique.gifDans biens des cas, vous pouvez accéder à un historique de vos derniers commandes, en effectuant la combinaison Alt+h ou Echap+h. Enfin l'auto-complétion est "accessible" via Alt-Tab. Je vais vous montrer comment changer ça dans le prochain billet.

histo.png

Quatrième étape, édition ouverture de fichiers

Bien souvent l'utilité d'un gestionnaire de fichier ne se résume pas à ce qui est écrit au-dessus.
On peut par exemple souhaitez éditer un fichier de configuration ou vouloir visualiser une photo ...

Edition et visualisation de fichiers (texte) :

De base, Midnight Commander intègre un éditeur de fichier accessible via la touche F4, il offre aussi un outil permettant de visualiser les fichiers via la touche F3.
Mais bon, moi j'ai mes petites habitudes et je souhaite par exemple utiliser nano pour éditer mes fichiers.
Pas de soucis, il suffit d'aller dans le menu option/configuration puis décocher la checkbox use internal editor et sauver la boite de dialogue (S).

editor.png

Si vous n'avez pas exporté la variable editor, la ligne suivante permet de le faire :

export editor=/bin/nano

Dans le cas contraire, Midnight Commander vous proposera gentiment un choix parmi ce qu'il aura trouvé sur votre ordinateur.

Ouvrir vos fichiers avec vos applications :

Bon tout ça, c'est bien gentil mais moi je veux ouvrir des pdf, lire des vidéos ou regarder des photos comment je fais ? Facile, il suffit de configurer les applications à lancer en fonction de l'extension du fichier.
Pour cela, F9=>C=>e (menu du haut=>Command=>Extension edit) Un petite boite de dialogue s'ouvre, choisissez User :

conf.png

Rechercher l'extension que vous souhaitez, par exemple pour mes PDF j'ai trouvé le passage suivant :

# PDF
type/^PDF
        Open=(see %f &)
        #Open=(acroread %f &)
        #Open=(ghostview %f &)
        View=%view{ascii} pdftotext %f -

Vous constaterez qu'il existe trois actions possibles pour chaque extension.

  • Open : Comme son nom l'indique, action se déclenchant lors de la pression sur la touche Entrée ou double clic
  • View : lors de l'appui sur la touche F3
  • Edit : lors de l'appui sur la touche action F4

Il est intéressant de pouvoir jouer avec ces touches en fonction de nos besoins.

Dans mon cas, je souhaite ouvrir mes PDF avec evince donc j'édite l'action Open.

Open=evince >/dev/null 2>&1 &

Vous noterez que j'ai redirigé les sorties standards et erreurs vers /dev/null si vous ne faites pas cela, vous avez de fortes chances de ne plus pouvoir utiliser Midnight Commander car il ne sera plus lisible.

Et paf, ça fait des chocapic !

Conclusion

Midnight Commander est extrêmement configurable et ce de manière assez facile. J'ai encore quelques astuces sous le coude.

I'll Be back !!

- page 2 de 5 -