通过ssh建立连接
-
确保你的服务器有jupyter notebook,如果没有bash输入
pip install jupyter
安装 -
先ssh连接到服务器,然后创建jupyter notebook密码, bash输入
jupyter notebook password
-
在服务器的某端口打开jupyter notebook,bash输入
jupyter notebook --no-browser --port=12345
-
建立ssh连接:我们将服务器打开jupyter notebook的端口远程转发到本地即可,在新的命令行窗口输入(非服务器bash)
ssh -N -L 8080:localhost:12345 <user_name>@<host_ip>
-N说明不执行任何远程命令;-L指明执行端口转发
-
本地打开notebook:我们已经将服务器12345端口转发到了本地的8080端口,此时浏览器打开本地8080端口即可,浏览器地址栏输入http://localhost:8080/即可在本地浏览器打开远程服务器的jupyter notebook
-
开始使用jupyter notebook吧!如果存在端口占用问题,自行修改端口
退出远程jupyter
方法一
在本地浏览器打开远程jupyter后点击右上角quit
方法二
命令行执行
- 远程服务器命令行:
jupyter notebook stop your_port
- 本地命令行
ssh username:password@remote_server_ip "jupyter notebook stop your_port"
- 远程服务器bash
ssh username:password@remote_server_ip "pkill -u username jupyter"
使用screen session维持服务器端口转发
本节参考here。
做法:使用screen session
- 连接服务器,然后bash输入
screen
- 输入空格后输入命令,此时的bash已经成为screen类型,输入的命令可以保持。按照第一节的做法进行端口转发
- 按下
ctrl+ a
ctrl+ d
此时你可以安心关闭远程连接了 - 重新登录服务器可使用
screen -r
重新打开你的screen session
几个screen常用命令
命令 | 说明 |
---|---|
screen | 创建一个screen session |
screen -S name | 创建名为name的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 | 同上 |