Lancer et utiliser le notebook IPython sur le réseau

Chose que tu veux faire

Je souhaite démarrer le serveur de notebook ipython sur une machine du réseau et l'utiliser à partir du navigateur sur la machine locale.

La machine locale est un air macbook faible, donc je veux travailler avec une machine puissante sur le net. De plus, si vous pouvez le faire, vous pouvez travailler n'importe où.

Cependant, ipython notebook est une REPL interactive et graphique, vous pouvez donc exécuter n'importe quel code. C'est aussi une énorme faille de sécurité, alors je voudrais prendre des mesures qui peuvent être rassurées.

Solution

La machine distante bloque tout sauf le port ssh avec un pare-feu, et le portable est accessible via le tunnel ssh.

Il existe une méthode appelée protection par mot de passe, mais elle n'est pas adoptée.

Connexion / démarrage spécifique

Ce sera la méthode sur mac (je pense que cela peut être équivalent sur windows).

Pour les machines distantes, utilisez un pare-feu pour empêcher les connexions autres que ssh.

Ssh sur une machine distante. A ce moment, un "tunnel" est également ouvert. C'est,

[local-machine]$ ssh -L 8080:127.0.0.1:8888 remotemachine

Connectez-vous en tant que ssh [^ 1]. Maintenant, en même temps que la session ssh habituelle est disponible dans le terminal, un "tunnel" s'ouvrira pour que vous puissiez accéder à localhost: 8080 pour accéder au port distant 8888 via la session ssh. Notez que «8888» est le port par défaut pour les ordinateurs portables.

[^ 1]: Supposons que remotemachine soit déjà défini dans ~ / .ssh / config, et normalement ssh remotemachine est configuré pour autoriser la connexion ssh.

En plus de ça

[remote-machine]$ ipython notebook --profile=nbserver --no-browser

En tant que, démarrez le serveur notebook [^ 2].

[^ 2]: Quand j'essaye de lancer un notebook sans l'option --no-browser sur une machine avec une interface graphique, le navigateur se lance et essaie d'ouvrir le notebook.

Après avoir démarré le serveur, accédez à localhost: 8080 avec le navigateur de votre machine locale pour ouvrir le notebook. En revanche, l'accès à * adresse-ip-de-la-machine-distante *: 8888 est refusé.

Faiblesses de cette méthode

Connexion ssh perdue. Vous pouvez empêcher le serveur notebook de tomber en panne en démarrant le serveur notebook dans une session écran ou tmux, mais vous devez à nouveau le ssh pour vous connecter au navigateur. Après tout, la méthode officielle (certificat + mot de passe) est-elle meilleure?


Recommended Posts

Lancer et utiliser le notebook IPython sur le réseau
Lancez le serveur de notebook IPython
Utilisez AppSync à l'avant et à l'arrière
Lancez facilement jupyter notebook sur AWS et accédez localement
[Windows] [Python3] Installer python3 et Jupyter Notebook (anciennement ipython notebook) sous Windows
Affichage des chaînes sur le notebook IPython
Comment utiliser IPython Notebook
Exécutez IPython Notebook sur Docker
Utilisation de Bokeh avec IPython Notebook
J'ai essayé de lancer le cluster ipython au minimum sur AWS
Sakura utilisant Python sur Internet
Installez Anaconda sur votre Mac et téléchargez votre notebook Jupyter (IPython) sur Anaconda Cloud
Utilisez le désassembleur métabolique sur Google Colaboratory
IPython Notebook est maintenant rendu et affiché sur GitHub!
Utilisation d'Apache Spark avec le notebook Jupyter (notebook IPython)
Spécifiez le navigateur à utiliser avec Jupyter Notebook. Surtout Mac. (Et Vivaldi)
Utiliser Jupyter Lab et Jupyter Notebook avec EC2
Installer et lancer k3s sur Manjaro Linux
Utiliser le capteur Grove avec Raspberry Pi
Cloner le référentiel github sur le notebook Jupyter
Déployer et utiliser le modèle de prédiction créé en Python sur SQL Server
Utiliser les raccourcis clavier vim dans Jupyter Notebook lancé avec Docker
Comment utiliser le débogueur IPython (ipdb)
Ajouter des lignes et du texte sur l'image
Analyse et visualisation de graphes sur IPython Notebook à l'aide de Cytoscape / cyREST et py2cytoscape Partie 1
Utilisez python sur Raspberry Pi 3 pour éclairer la LED quand il fait noir!
Installer matplotlib et afficher le graphique dans Jupyter Notebook
environnement en ligne du serveur de code (4) Lancer le serveur de code sur l'instance EC2
Utilisez la dernière version de PyCharm sur Ubuntu
Rechercher et supprimer des variables gourmandes en mémoire sur Jupyter (IPython)
Utiliser les raccourcis clavier emacs ou vim dans le notebook IPython
J'ai couru le réseau neuronal sur le FPGA réel
Notebook Jupyter ouvert à distance lancé sur le serveur
Présentation de Spark à EC2 et liaison d'iPython Notebook
L'histoire du démarrage du notebook Jupyter de python2.x à l'aide de docker (écrasé samedi et dimanche)
J'ai essayé de comprendre comment utiliser les pandas et la colinéarité multiple en utilisant l'ensemble de données Affaires comme thème.
Jusqu'à ce que vous installiez Anaconda pour l'analyse des données sur votre Mac et que vous lanciez l'IDE
[Python] Un bloc-notes qui traduit et télécharge le fichier ipynb de GitHub en japonais.
installation du notebook ipython
Recommandations du notebook IPython
Lisez le fichier csv avec le notebook jupyter et écrivez le graphique l'un sur l'autre
Exécutez l'application flask sur Cloud 9 et Apache Httpd
Spécifiez le volume sous Linux et jouez le son
Visualisez les données réseau à partir d'IPython Notebook à l'aide de Cytoscape Partie 1
Surveiller le modèle d'entraînement avec TensorBord sur Jupyter Notebook
Approvisionnement EC2 avec Vagrant + Jupyter (IPython Notebook) sur Docker
Comment utiliser la commande grep et des exemples fréquents
Comment lancer instantanément Jupyter Notebook à partir du terminal
Ubuntu 20.04 sur raspberry pi 4 avec OpenCV et utilisation avec python
Exécuter une commande sur le serveur Web et afficher le résultat
Comment utiliser argparse et la différence entre optparse
Installez django sur python + anaconda et démarrez le serveur
Utilisez Python pour surveiller Windows et Mac et collecter des informations sur les applications sur lesquelles vous travaillez