Crypter des fichiers avec GnuGPG
13 avril 2020
Des fois, il est pratique de pouvoir crypter ses fichiers, pour cela, nous allons utiliser gpg2.
Par défaut, gpg2 utilise AES.
Ouvrez un terminal, et placez-vous dans un répertoire pour réaliser vos tests.
Tout d’abord, nous allons créer un fichier txt avec un contenu :
$ echo "test de crypto" > fichierCLaire.txt
On regarde le contenu du fichier fraichement créé
$ cat fichierCLaire.txt
test de crypto
Ensuite, nous allons crypter ce fichier afin qu'il ne soit plus lisible sans code !
$ gpg2 -o fichierCrypte.txt -c fichierCLaire.txt
Après la saisie de cette commande, un popup va apparaître pour saisir votre mot de passe (à saisir deux fois)
L'option -o correspond à out donc au fichier de sortie à créer, et l'option -c correspond à crypt suivit du nom du fichier à crypter.
En regardant dans le répertoire vous devriez avoir deux fichiers :
$ ls -la
total 16
drwxr-xr-x 2 toto toto 4096 13 avril 17:31 .
drwx------ 54 toto toto 4096 13 avril 16:43 ..
-rw-r--r-- 1 toto toto 15 13 avril 17:20 fichierCLaire.txt
-rw-r--r-- 1 toto toto 102 13 avril 17:31 fichierCrypte.txt
Nous allons regarder à présent le contenu du fichier crypté (fichierCrypte.txt)
$ cat fichierCrypte.txt
$ ^C��q�чE�
Donc, vous voyez que le fichier fichierCrypte.txt est illisible, le fichier de départ, lui n'a pas été modifié ! :)
A présent, nous allons décrypter le fichier crypté vers le fichier fichierDecrypte.txt
$ gpg2 -o fichierDecrypte.txt -d fichierCrypte.txt
gpg: données chiffrées avec AES
gpg: chiffré avec 1 phrase secrète
L'option -o est suivit du fichier de sortie qui sera créé et l'option -d sera suivit du fichier que nous souhaitons décrypter.
Vous remarquerez, que gpg2 ne vous a pas demandé de mot de passe ! Ne vous inquiéter pas, c'est normal car, le mot de passe est mémorisé temporairement dans un trousseau de clés. Si vous envoyer le fichier à un ami, il lui sera impossible de décrypter le fichier sans votre clé (mot de passe). De même, si vous redémarrer votre ordinateur, vous serez dans l'obligation de saisir à nouveau votre mot de passe pour décrypter votre fichier !
Le responsable est gpg-agent, pour vous en assurer, il suffit de le tuer le process correspondant. et de relancer la commande de décryptage.
On va tuer le processus gpg-agent :
$ killall gpg-agent
On relance la commande de décryptage. Et là, vous aurez un joli popup qui vous demandera la clé de décryptage :)
$ gpg2 -o fichierDecrypte.txt -d fichierCrypte.txt
gpg: données chiffrées avec AES
gpg: chiffré avec 1 phrase secrète
A présent dans le répertoire, vous devriez avoir trois fichiers, le fichier de départ fichierCLaire.txt, le fichier crypté fichierCrypte.txt et le fichier décrypté, fichierDecrypte.txt
$ ls
fichierCLaire.txt fichierCrypte.txt fichierDecrypte.txt
Nous allons vérifier que le fichier à bien été décrypté :
$ cat fichierDecrypte.txt
test de crypto
Jackpot !!
Voilà, j'espère que cela vous sera utile :)
Création d'une interface réseau virtuelle sous Linux
13 avril 2020
Vous
vous demandez pourquoi utiliser une interface réseau virtuelle sous
Linux. J'utilise régulièrement une machine virtuelle pour réaliser du
développement web avec mon ordinateur portable. Malheureusement, mon
ordinateur portable ne possède pas de carte ethernet physique. Lorsque
vous n'avez pas d'interface wifi active ou lorsqu'il n'y a pas de réseau
cela peut être problématique pour communiquer entre les machines
invitées et la machine hôte.
Pour cela, je vais créer une interface virtuelle toto dans la machine hôte (machine physique) à l'aide de la commande brctl:
# brctl addbr toto
(La commande ne renvoie rien)
$ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: toto: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether e6:6a:27:7a:56:d9 brd ff:ff:ff:ff:ff:ff
link/ether e6:6a:27:7a:56:d9 brd ff:ff:ff:ff:ff:ff
Ensuite, il faut activer cette interface dans le même réseau que la machine hôte.
# ip addr add 192.168.1.50/24 dev toto
(La commande ne renvoie rien)
2: toto: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 1a:36:fb:85:09:9c brd ff:ff:ff:ff:ff:ff
inet 192.168.1.50/24 scope global toto
valid_lft forever preferred_lft forever
link/ether 1a:36:fb:85:09:9c brd ff:ff:ff:ff:ff:ff
inet 192.168.1.50/24 scope global toto
valid_lft forever preferred_lft forever
Ensuite,
une fois l'interface fonctionnelle (faite un ping sur la carte
virtuelle), lancer votre machine invitée avec le mode d'accès réseau
activé pour la translation d'adresse (NAT). Depuis la machine virtuelle,
en vous connectant sur l'adresse virtuelle toto, vous serez en mesure
d’échanger des fichiers via sftp par exemple ou tout simplement de
discuter avec la machine hôte via ssh.
Enjoy !
Relancer le service réseau sous ArchLinux et avec d'autre distribution dérrivées (Manjaro Linux)
13 avril 2020
C'est tout simple :
# systemctl restart NetworkManager
(La commande ne renvoie rien)
Il m'arrive que ma connexion wifi ne fonctionne plus après la sortie de veille. Pour le moment au lieu de redémarrer le système, je redémarre le service network en déchargeant le module wifi. Il y a peut-être d'autres solution, mais je n'ai pas cherché.
Pour cela, j'utilise un petit script bash perso :
$ cat bin/restartwifi.sh
#!/bin/bash
echo "Mise à l'arrêt du service network"
systemctl stop NetworkManager
echo "Suppresion des modules : iwldvm & iwlwifi"
rmmod iwldvm
rmmod iwlwifi
echo "Rechargement du module wifi : iwlwifi"
modprobe iwlwifi
echo "Mise en service du system réseau"
systemctl start NetworkManager
exit 0
En espérant que cela vous sera utile.
Enjoy
Manjaro 18.0 XFCE, Conky doesn’t work with transparency
20 avril 2019
Voilà, j'ai eu un petit souci depuis l'installation de Majaro 18.0 avec conky et la transparence.
J'ai trouvé la solution ici :
Merci au passage :)
Dans le fichier de configuration de conky il suffit d'activer own_window_argb_visual à yes !
Voilà c'est tout simple lorsque l'on le sait.
Bien à tous.
Utilisation simplifiée de la commande sftp
18 novembre 2018
SFTP, qui signifie SSH File Transfer Protocol, ou protocole de
transfert de fichiers sécurisé, est un protocole séparé fourni avec SSH
qui fonctionne de manière similaire sur une connexion sécurisée. Pour
simplifier, sftp n'est rien d'autre qu'un client ftp avec un s en plus
comme qui signifie secrure. Le fonctionnement de sftp est le même qu'un
client ftp en ligne de commande, sauf que tout est crypté de bout en
bout contrairement à ftp ou tout circule en clair. Pour que cela
fonctionne, il vous faudra évidemment un serveur ssh actif et un client
ssh.
Avant de tester sftp, assurez-vous que sshd et ssh sont pleinement fonctionnels :
$ ssh toto@
ip_serveur_ou_nom_de_machine
Si cela fonctionne :
$ exit
A titre d'information, je vous donne quelques exemples simples d'utilisation de la commande sftp :
$ sftp toto@ip_serveur_ou_nom_de_machine
Si le serveur sshd ne tourne pas sur le port par défaut, il faudra l'indiquer au client
$ sftp -oPort=port_ssd
Pour plus d'information sur la commande sftp, je vous invite à lancer la commande sftp --h :
$ sftp -h
usage: sftp [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
[-D sftp_server_path] [-F ssh_config] [-i identity_file] [-l limit]
[-o ssh_option] [-P port] [-R num_requests] [-S program]
[-s subsystem | sftp_server] destination
Ainsi que la commande help, lorsque vous êtes connecté au serveur sshd :
Connected to toto@
ip_serveur_ou_nom_de_machine
sftp> help
Available commands:
bye Quit sftp
cd path Change remote directory to 'path'
chgrp grp path Change group of file 'path' to 'grp'
chmod mode path Change permissions of file 'path' to 'mode'
chown own path Change owner of file 'path' to 'own'
df [-hi] [path] Display statistics for current directory or
filesystem containing 'path'
exit Quit sftp
get [-afPpRr] remote [local] Download file
reget [-fPpRr] remote [local] Resume download file
reput [-fPpRr] [local] remote Resume upload file
help Display this help text
lcd path Change local directory to 'path'
lls [ls-options [path]] Display local directory listing
lmkdir path Create local directory
ln [-s] oldpath newpath Link remote file (-s for symlink)
lpwd Print local working directory
ls [-1afhlnrSt] [path] Display remote directory listing
lumask umask Set local umask to 'umask'
mkdir path Create remote directory
progress Toggle display of progress meter
put [-afPpRr] local [remote] Upload file
pwd Display remote working directory
quit Quit sftp
rename oldpath newpath Rename remote file
rm path Delete remote file
rmdir path Remove remote directory
symlink oldpath newpath Symlink remote file
version Show SFTP version
!command Execute 'command' in local shell
! Escape to local shell
? Synonym for help
Ensuite vous pourrez utiliser les commandes classiques tel que ls pour lister les fichiers dans le répertoire courant et distant, pwd
pour savoir dans quel répertoire distant vous êtes. Pour récupérer une
fichier du répertoire distant vers le répertoire local, il suffira de
lancer la commande get nom_du_fichier_à_récupérer.
Enjoy !