当前位置:   article > 正文

Xshell 端口转发,Ubuntu 16.04.6 LTS 服务器端运行 Jupyter notebook,本地浏览器访问 Jupyter notebook_xshell实现端口转发本地还是打不开

xshell实现端口转发本地还是打不开
一、环境及工具
  • 远程服务器:Ubuntu 16.04.6 LTS
  • 本地:Windows 10 x64
  • Xshell 6 (Build 0715)
  • Tmux(终端复用工具)

二、基本步骤
  1. 在 Ubuntu 服务器端安装 Jupyter notebook
  • 官网:https://jupyter.org/install.html
  • pip 方法:
pip install jupyter	# 或 pip install jupyterlab
  • 1
  1. 修改 Jupyter notebook 配置文件(该步骤可以省略,但是在运行 jupyter notebook 时需要指定端口)
  • 通过 Xshell 终端连接 Ubuntu 服务器后,运行命令:
ipython
  • 1
  • 进入 ipython后,依次运行下面两条脚本:
from notebook.auth import passwd
passwd()
  • 1
  • 2
  • 根据提示输入两次需要自己定义的密码,会得到一个秘钥字符串(需要将该秘钥字符串复制好,待一会粘贴进配置文件中)

  • 输入:exit() 退出 ipython

exit() 
  • 1
  • 然后运行如下命令,创建 notebook 配置文件
jupyter notebook --generate-config
  • 1
  • 通过 vim 打开配置文件
vim /home/用户名/.jupyter/jupyter_notebook_config.py
  • 1

以上步骤图示如下:

  • 在配置文件的最后添加如下内容:
## 手动添加的内容
c.NotebookApp.ip = '*'  # 此处*号不需要修改,表示绑定服务器的所有 IP 地址
c.NotebookApp.password = u'sha1:be130abecdef1:2f9e1313343439ee3adfasdfa23409830f48b300e7692695'  # 单引号内内容需要用前面步骤中生成的秘钥替换
c.NotebookApp.port = 端口号  # 自定设定一个合适的远程访问端口(配置 Xshell 端口转发时也是用这个端口)
c.NotebookApp.open_browser = False  # 不使用服务器本地的浏览器
  • 1
  • 2
  • 3
  • 4
  • 5

添加内容图示如下:

  1. 配置 Xshell 的端口转
  • 打开 Xshell——【文件】——【新建】——在【连接】中填写服务器的登录信息,再在其下的【用户身份验证】中填写登录用户名和密码
  • 再在【SSH】下的【隧道】中点击【添加】,将【侦听端口】和【目标端口】设置为同一端口(如果第 2 步设置了端口号,则此处与其相同;如果略过第 2 步,则需要记住该端口号,在运行 jupyter notebook 时需要指定该端口号;其他地方都不需要修改,注意不要勾选“转发X11连接到(X)”),确定并保存该会话
  1. 运行 Jupyter notebook
  • 用 Xshell 打开上一步配置好的会话,运行如下命令:
tmux new -s my_jupyter  # 通过 tmux 开启一个会话
jupyter notebook    # 在打开的 tmux 会话窗口运行 jupyter notebook
# 如果第 2 步省略,则需要指定端口号(同为 Xshell 端口转发的端口号相同)
jupyter notebook --port 端口号
  • 1
  • 2
  • 3
  • 4
  • 通过 tmux 可以保持该会话在后台持续运行,而不至于用户退出终端后,该 jupyter notebook 服务退出,即可以即时地在本地浏览器中使用 jupyter notebook,当然也可以不用这一步,直接运行 jupyter notebook
  1. 浏览器中使用 Jupyter notebook
  • 在本机浏览器地址栏中输入:http://127.0.0.1:端口号,如下示例
http://127.0.0.1:端口号
  • 1

然后即可以使用服务器上的 Jupyter notebook 服务了!界面截图如下:

需要注意:虽然通过 tmux 可以在 ubuntu 后台持续运行 jupyter notebook 服务,但是不能关闭 Xshell 中负责特定端口转发的会话终端,但是可以退出 tmux,执行其他操作


参考

[1] https://jupyter-notebook.readthedocs.io/en/stable/public_server.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/148728
推荐阅读
相关标签
  

闽ICP备14008679号