Utiliser un notebook Python à distance

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

On va créer un tunnel entre le notebook et notre ordinateur pour pouvoir se connecter au notebook.

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

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

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

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. Aller sur techniques-ingenieur depuis chez soi ? Utiliser le sas comme serveur proxy - VPN ?

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