Windows远程访问服务器的Jupyter Notebook

最近做深度学习的作业,要用到GPU服务器,Jupyter Notebook 又是一个用Python写Deep Learning作业的神器,于是免不了要学会怎么远程访问Jupyter Notebook!

找了很多博客文章,比如这位博主:http://blog.csdn.net/kunlong0909/article/details/52464495 。 类似的思路有很多,但都没有成功。通常都是在本地浏览器下访问失败,提示防火墙或者代理有问题,无法访问。所以又有很多文章介绍安装git,通过git bash终端输入指令来尝试解决这个问题。但是依然没有奏效。后来参考:

https://blog.csdn.net/qq_32612467/article/details/78728883 

终将问题解决。先将思路分享如下:

1、首先Windows上需要安装 Putty 和 Git, 安装方法上基本是下载客户端然后点击下一步,这里不赘述。

2、在Windows安装Putty,登陆服务端

这样就可以在服务端输入 shell 指令:

jupyter notebook --ip=0.0.0.0 --no-browser --port=1111

将会创建一个没有浏览器的notebook,ip这里指定为0.0.0.0(比较随意,不会和其他用户产生冲突),端口号为xxxx,一般端口选择1024-49151中任一即可,如1111,为避免与其他服务端口冲突,建议自己另设置一个端口号。本文以端口号 1111 为例。

另外,有的教程里没有 --ip=0.0.0.0 这条语句,所以可能会提示 Cannot assign requested address

Windows远程访问服务器的Jupyter Notebook

执行命令后终端上显示如下图所示,其中红线部分为token,后面会用到

Windows远程访问服务器的Jupyter Notebook

3、在Windows上打开git的 bash 终端,输入:

ssh -N -f -L localhost:1112:localhost:1111 [email protected]

第一个localhost填入xxxx+1,第一个localhost填入xxxx,username为服务器端的用户名,serverIP填入服务器ip。

执行命令后需要输入服务器用户名密码,输出完成后没有其他显示,保持bash终端不要关闭。

4、在个人电脑上打开浏览器,输入http://localhost:1112 

Windows远程访问服务器的Jupyter Notebook

将服务器端的token粘贴到此处,即可连接到服务器的Jupyter Notebook。