我正在尝试连接到远程服务器上运行的 jupyter 笔记本。下面的代码已经运行了好几天,可以将在我的 ubuntu 服务器端口上运行的 jupyter 笔记本转发到我的 mac。它最近停止了。
当我尝试在 ubuntu 服务器上安装 chrome 和 chromedriver 以便将其与 selenium 一起使用时,它似乎停止了。我不确定它们是否相关。这篇文章与我在使用 chrome 和 crhomedriver 时遇到的问题有关,我在 ubuntu 上尝试解决这些问题的方法如下:
https://stackoverflow.com/questions/55681005/chrome-fails-on-ubuntu-server-with-selenium?noredirect=1#comment98046496_55681005
我之前发布的与 jupyter notebook 问题相关的帖子如下:
https://stackoverflow.com/questions/55700615/connection-failed-to-remote-jupyter-notebook
有人知道问题可能出在哪里吗?你能提出解决方案吗?还有,有没有办法只打开 jupyter notebook 的端口,这样我就不需要使用了
ssh -L 8000:localhost:8888 [email protected]
在工作中,当我们连接到在远程服务器上运行的 jupyter notebook 时,我们只需在 Web 浏览器中输入“servername:8889”。由于我们在同一个网络上,因此它会连接。
最近我还尝试关闭并重新启动我的 ubuntu 服务器,但没有解决任何问题,仍然无法远程连接到 jupyter notebook 服务器。
Ubuntu 代码:
ssh -L 8000:localhost:8888 [email protected]
Ubuntu 代码:
jupyter notebook --no-browser --port=8888
信息:
WARNING: The conda.compat module is deprecated and will be removed in a future release.
[I 14:11:23.334 NotebookApp] [nb_conda_kernels] enabled, 2 kernels found
[I 14:11:23.343 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret
[I 14:11:24.175 NotebookApp] Serving notebooks from local directory: /home/username
[I 14:11:24.175 NotebookApp] The Jupyter Notebook is running at:
[I 14:11:24.175 NotebookApp] http://localhost:8888/?token=d111b8540568567c80796a3be5cf53229fe38360b411a4dd
[I 14:11:24.175 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 14:11:24.178 NotebookApp]
To access the notebook, open this file in a browser:
file:///run/user/1000/jupyter/nbserver-77790-open.html
Or copy and paste one of these URLs:
http://localhost:8888/?token=d111b8540568567c80796a3be5cf53229fe38360b411a4dd
答案1
我认为您在这里寻找的是 --ip。您可以在启动服务器时通过指定主机名直接连接到远程计算机。 jupyter notebook --no-browser --port=8232 --ip=ubuntu-pi-100000 ~/
https://jupyter-notebook.readthedocs.io/en/stable/config.html NotebookApp.allow_remote_accessBool 默认值:False
允许 Host 标头未指向本地服务器的请求
默认情况下,如果“Host”标头显示浏览器认为它位于非本地域中,则请求会收到 403 禁止响应。将此选项设置为 True 可禁用此检查。
这可以防止“DNS 重新绑定”攻击,即远程 Web 服务器向您提供页面,然后更改其 DNS 以将后续请求发送到本地 IP,从而绕过同源检查。
允许使用本地 IP 地址(例如 127.0.0.1 和 ::1)以及在 local_hostnames 中配置的主机名作为本地地址。
答案2
问题似乎是我需要在本地机器的浏览器中输入 localhost:8888。我在远程机器上输入了打开 jupyter 笔记本服务器的端口,因此是 localhost:8889。示例
jupyter notebook --no-browser --port=8889
其次是
ssh -N -f -L localhost:8888:localhost:8889 [email protected]
撞头在这里。