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.
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.
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é.
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