Utiliser un notebook Python à distance

Tu souhaites lancer ton notebook Python sur une machine précise, et l'utiliser depuis n'importe quel poste de l'école ? Tu es au bon endroit :)

A la fin de ce tutoriel, vous saurez comment vous connecter et utiliser à distance un notebook Python. Pour cela, nous allons créer un tunnel entre le notebook et votre ordinateur.

Note: On appelle «distante» la machine précise sur laquelle tourne le notebook.

Procédure

1- On se choisit un bon_port à utiliser sur la machine distante, un chiffre entre 10 000 et 60 000, par exemple 35678.

2- On crée le tunnel, tout en se connectant sur la machine distante: (garder la console ouverte !). :
$ ssh -L 8888:localhost:bon_port tonlogin@distante

3- Maintenant qu'on est sur la machine distante, on lance le jupyter notebook, en précisant notre bon_port :
$ jupyter-notebook --no-browser --port bon_port

4- On ouvre son navigateur web préféré, et on tape dans la barre d'adresse : localhost:8888

Et voilà ! Tant que la console du tunnel est ouverte, ça devrait marcher :)

Exemple

Je souhaite lancer un notebook sur calade164.

$ ssh -L 8888:localhost:35678

$ jupyter-notebook --no-browser --port 35678

A noter

On peut changer 8888 par n'importe port, à l'instar de bon_port

ssh n'existe pas ! / Windows

Sur Windows, la commande ssh n'existe pas forcément. Dans ce cas, on peut utiliser putty et s'inspirer de ce tuto pour la configuration.

Et si je veux le consulter depuis ma maison ?

Ça complexifie un peu le tunnel SSH : il faut indiquer au tunnel de passer par le sas de l'école pour atteindre la machine distante :

$ ssh -J sas1.ec-m.fr -L 8888:localhost:bon_port tonlogin@distante