Ich möchte den ipython Notebook-Server auf einem Computer im Netzwerk starten und über den Browser auf dem lokalen Computer verwenden.
Der lokale Computer ist ein schwaches MacBook Air, daher möchte ich mit einem leistungsstarken Computer im Internet arbeiten. Wenn Sie dies tun können, können Sie auch überall arbeiten.
Ipython Notebook ist jedoch eine interaktive und grafische REPL, sodass Sie jeden Code ausführen können. Dies ist auch eine große Sicherheitslücke, daher möchte ich Maßnahmen ergreifen, die beruhigt werden können.
Der Remote-Computer blockiert alle bis auf den SSH-Port mit einer Firewall, und auf das Notebook wird über den SSH-Tunnel zugegriffen.
Es gibt eine Methode namens Passwortschutz, die jedoch nicht übernommen wird.
Es wird die Methode auf dem Mac sein (ich denke, es kann unter Windows gleichwertig sein).
Verwenden Sie für Remotecomputer eine Firewall, um andere Verbindungen als ssh zu verhindern.
Ssh zu einer entfernten Maschine. Zu diesem Zeitpunkt wird auch ein "Tunnel" geöffnet. Das ist,
[local-machine]$ ssh -L 8080:127.0.0.1:8888 remotemachine
Verbinden Sie sich als ssh [^ 1]. Zur gleichen Zeit, in der die übliche SSH-Sitzung im Terminal verfügbar ist, wird ein "Tunnel" geöffnet, sodass Sie auf "localhost: 8080" zugreifen können, um über die SSH-Sitzung auf den Remote-Port 8888 zuzugreifen. Beachten Sie, dass 8888
der Standardport für Notebooks ist.
[^ 1]: Angenommen, die Remotemaschine ist bereits in "~ / .ssh / config" definiert, und normalerweise ist "ssh-Remotemaschine" so eingestellt, dass eine SSH-Verbindung möglich ist.
Darüber hinaus
[remote-machine]$ ipython notebook --profile=nbserver --no-browser
Starten Sie den Notebook-Server [^ 2].
[^ 2]: Wenn ich versuche, ein Notizbuch ohne die Option "--no-browser" auf einem Computer mit einer grafischen Benutzeroberfläche zu starten, wird der Browser gestartet und versucht, das Notizbuch zu öffnen.
Greifen Sie nach dem Starten des Servers mit dem Browser auf Ihrem lokalen Computer auf localhost: 8080
zu, um das Notebook zu öffnen. Auf der anderen Seite wird der Zugriff auf * IP-Adresse des Remote-Computers *: 8888 verweigert.
SSH-Verbindung unterbrochen. Sie können verhindern, dass der Notebook-Server ausfällt, indem Sie den Notebook-Server in einer Bildschirm- oder tmux-Sitzung starten. Sie müssen ihn jedoch erneut ssh, um eine Verbindung zum Browser herzustellen. Ist die offizielle Methode (Zertifikat + Passwort) schließlich besser?
Recommended Posts