通过ssh远程使用服务器jupyter notebook(并维持服务器端口转发)

通过ssh建立连接

  1. 确保你的服务器有jupyter notebook,如果没有bash输入pip install jupyter安装

  2. 先ssh连接到服务器,然后在服务器的某端口打开jupyter notebook,bash输入

    jupyter notebook --no-browser --port=12345
    

    示例

  3. 建立ssh连接:我们只需要将服务器打开jupyter notebook的端口远程转发到本地即可,在新的命令行窗口输入(非服务器bash)

    ssh -N -L 8080:localhost:12345 <user_name>@<host_ip>
    

    示例

    -N说明不执行任何远程命令;-L指明执行端口转发

  4. 本地打开notebook:我们已经将服务器12345端口转发到了本地的8080端口,此时浏览器打开本地8080端口即可,浏览器地址栏输入http://localhost:8080/即可在本地浏览器打开远程服务器的jupyter notebook

  5. 开始使用jupyter notebook吧!如果存在端口占用问题,自行修改端口

退出远程jupyter

方法一

在本地浏览器打开远程jupyter后点击右上角quit

方法二

命令行执行

  1. 远程服务器命令行:
    jupyter notebook stop your_port
    
  2. 本地命令行
    ssh username:password@remote_server_ip   "jupyter notebook stop  your_port"
    
  3. 远程服务器bash
    ssh username:password@remote_server_ip "pkill -u username jupyter"
    

使用screen session维持服务器端口转发

  本节参考here
  做法:使用screen session

  1. 连接服务器,然后bash输入
    screen
    
  2. 输入空格后输入命令,此时的bash已经成为screen类型,输入的命令可以保持。按照第一节的做法进行端口转发
  3. 按下
    ctrl+ a
    ctrl+ d
    此时你可以安心关闭远程连接了
  4. 重新登录服务器可使用screen -r重新打开你的screen session

几个screen常用命令

命令 说明
screen 创建一个screen session
screen -ls 列举当前screen session
screen -list 同上
screen -r [session] 恢复screen session并显示期间输出
ctrl+ a配合ctrl+ d 退出当前screen session
screen -X -S [session] kill kill某个screen session
screen -X -S [session] quit 彻底kill某个screen session
screen -S session -X quit 同上

猜你喜欢

转载自blog.csdn.net/qq_34769162/article/details/107947034