1. Suitable
分处两个局域网的主机,一台Windows,一台Centos服务器,实现跨局域网远程连接Centos并在Windows下访问Centos的jupyternotebook进行python开发。
假设:Windows上面已经安装了Vscode,Centos已经安装了python,SSH,jupyterbotebook(并设置好了允许远程登陆什么的)
2. Steps
如果已经能访问服务器跳转到2.2节
2.1 内网穿透Centos的22端口
推荐工具:Sakurafrp
- 随便一个浏览器访问以上网址,进行如下设置
- 在Centos服务器上按照该官网说的方法进行登录,推荐脚本方式安装。后台运行可以用Screen或者Tmux(使用教程可网络搜索)。参考链接:https://doc.natfrp.com/#/frpc/usage/linux
- 如果只是想SSH连接服务器的话,在Windows上通过SSH就可以连接,参考
SSH -p 123456 root@xxxx
,其中123456是Sakurafrp映射的Centos的22端口号,xxxx是Sakurafrp映射的Centos的IP。免密登录可网上找其他教程,就是在Windows生成公钥id_rsa.pub,再上传到Centos并通过cat命令写入到ssh的authorized_keys 里面就行了
2.2 远程访问Centos的Jupyternotebook
-
Centos需要
- 后台运行jupyter服务:
jupyter notebook --no-browser --port=8889
,同样可以用Tmux或者Screen工具后台运行。
- 后台运行jupyter服务:
-
windows需要
- 本地打开CMD或者Powershell
- 输入:
ssh -p 1234576 -N -f -L localhost:8888:localhost:8889 root@xxxx
,意思就是把远程的8889端口映射到本地的8888端口。-N 告诉SSH没有命令要被远程执行; -f 告诉SSH在后台执行; -L 是指定port forwarding的配置,远端端口是8889,本地的端口号的8888。注意这一步并不会有输出 并不是卡住了 - Windows浏览器输入http://localhost:8888/就可以进行访问远程的Centos服务器
https://www.jianshu.com/p/8fc3cd032d3c