lundi 21 août 2017

Monter un partage NFS à travers une connexion SSH

Dans le cas où l’on a accès en SSH à une machine distante mais que l’on veut travailler sur des fichiers distants avec ses outils en local on peut monter un partage NFS même si le port NFS de la machine distante n’est pas accessible de notre machine cliente. Il suffit d’avoir juste accès au SSH et d'utiliser sshfs
brew install sshfs
brew install ssh-copy-id
On va créer un point de montage /mnt/nfs. On ne peut pas utiliser /Volumes qui est réservé pour le système.
mkdir -p /mnt/nfs/

sudo chown -R local_username /mnt

sudo chgrp -R staff /mnt
Si on ne l’a pas déjà fait on va paramétrer le login automatique via une clé SSH plutôt que par mot de passe.
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub  remote_username@server
ssh  remote_username@server ( pour tester )
Ensuite on peut monter et démonter le partage NFS via tunnel SSH ainsi:
sshfs remote_username@server:/mnt/nfs/ /mnt/nfs/mount_point/ -oauto_cache,reconnect,defer_permissions,noappledouble,negative_vncache,volname=Server

umount -f /mnt/nfs/mount_point/

dimanche 13 août 2017

Bitcoin : récupérer ses bitcoins cash en toute sécurité

Lors du fork de bitcoin cash (BCH) toutes les transactions jamais effectuée sur bitcoin ont été dupliquées le jour du fork. Ainsi à chaque adresse bitcoin contenant des bitcoins précédemment au fork, correspond désormais une adresse avec le même montant de bitcoin cash. C’est en quelque sorte de l’argent gratuit.

Récupérer ses bitcoin cash consiste à lister toutes les adresses bitcoins que l’on possède qui contiennent des bitcoins, récupérer les clés privées de ces adresses, et les importer dans un portefeuille qui supporte bitcoin cash. Pour ma part j’ai utilisé Coinomi sur Android

La procédure la plus simple est donc:

  • Création d’un portefeuille bitcoin cash dans Coinomi
  • Export des clés privées bitcoin de son portefeuille actuel
  • Import de ses clés privées dans Coinomi

Le problème avec cette procédure c’est que l’on expose ses clés privée à Coinomi et au logiciel intermédiaire qu’on a dû ou pas ( selon son portefeuille d’origine ) utiliser pour exporter ses clés.

Donc pour se prémunir d’un vol on va auparavant déplacer tous ses bitcoins dans un autre portefeuille. Les clés privées que l’on passera à Coinomi ne contiendront donc plus que des BCH et plus de BTC.

La procédure plus longue mais sécurisée est donc:

  • Création d’un nouveau portefeuille bitcoin dans n’importe quel portefeuille
  • Transfert de l’intégralité de ses bitcoins sur ce nouveau portefeuille
  • Création d’un portefeuille bitcoin cash dans Coinomi
  • Export des clés privées bitcoin de son portefeuille actuel
  • Import de ses clés privées dans Coinomi

Comme expliqué dans le poste précédent la clé privée que la plupart des portefeuilles logiciels vous donne à sauvegarder est une clé racine qui sert à générer une infinité d’autres clés privées de manière déterministe. La clé privée ne contient pas de bitcoin en tant que tel, mais vous permet de regénérer les clés privées qui en contiennent. Ce processus est invisible lorsque l’on sauvegarde/restorate un portefeuille mais dans le cas de la récupération des bitcoin cash on va avoir besoin d’accéder à la liste complète des clés privée.

Pour générer ses clés privées à partir de la racine secrète j’ai utilisé ce script

Et les paramètres du script à utiliser selon votre portefeuille logiciel sont disponibles sur cette page.

Il faut ensuite importer chacune des clés privées générées dans le portefeuille BCH de Coinomi. On pourra ensuite décider de les conserver ou de les échanger contre des BTC par exemple.

Bitcoin : précision sur la sauvegarde de sa/ses clés privées

Quand on importe une clé privée d’un portefeuille logiciel à l’autre ou d’un portefeuille papier à un portefeuille logiciel on a exactement les mêmes bitcoins disponibles de chaque côté.

Ainsi que l’on ait accès au logiciel contenant cette clé privée, ou à la version papier, on a complètement accès aux bitcoins qui lui sont associés.

On peut créditer l’adresse publique de ce portefeuille qu’il soit logiciel ou papier.

A noter par contre; que si l’on dépense une partie des bitcoins avec le portefeuille électronique, le portefeuille papier sera complètement vidé de ses bitcoins, car lors d’un transaction une nouvelle adresse (couple clé publique / clé privée) est générée et c’est elle qui reçoit le solde restant de bitcoins. Ce processus est automatique et invisible sur le portefeuille logiciel, il est donc important de comprendre qu’après toute dépense le portefeuille papier équivalent devient caduque, il faut en régénérer un avec la dernière adresse en date.

Lorsque l’on parle de sauvegarder sa clé privé on parle le plus souvent de la clé privée du portefeuille, mais en réalité derrière on a plein de clés privées dérivables de cette clé racine. Toute transaction bitcoin génère un nouveau couple clé publique / clé privée. A toute adresse bitcoin est associé un de ces couples de clé. Ainsi on a théoriquement autant d’adresses privées que de transactions effectuées ce qui est très pénible à sauvegarder. C’est la qu’intervient les portefeuilles dits déterministes, qui permettent de générer une infinité de clés privée à partir d’une seule clé privée racine, elle même “facilement mémorisable” car encodée sous les forme d’une liste de mots courants:

ex: “arbre boire voyage repos soleil …"

Lorsque l’on change de portefeuille logiciel, on peut créer un nouveau portefeuille et transférer ses bitcoins de l’ancien au nouveau portefeuille. On aura alors plus aucune clé privée en commun avec le portefeuille précédent, il faudra sauvegarder la nouvelle clé racine.

Dans le cas où l’on stocke ses bitcoins sur une plateforme de trading, on a pas accès à ses clés privées. C’est l’exchange qui les possède. On est donc dépendant de la sécurité du site web.