跨局域网内网穿透SSH远程连接并远程访问服务器jupyterbotebook

1. Suitable

分处两个局域网的主机,一台Windows,一台Centos服务器,实现跨局域网远程连接Centos并在Windows下访问Centos的jupyternotebook进行python开发。

假设:Windows上面已经安装了Vscode,Centos已经安装了python,SSH,jupyterbotebook(并设置好了允许远程登陆什么的)

2. Steps

如果已经能访问服务器跳转到2.2节

2.1 内网穿透Centos的22端口

推荐工具:Sakurafrp

  1. 随便一个浏览器访问以上网址,进行如下设置

跨局域网内网穿透SSH远程连接并远程访问服务器jupyterbotebook_第1张图片

  1. 在Centos服务器上按照该官网说的方法进行登录,推荐脚本方式安装。后台运行可以用Screen或者Tmux(使用教程可网络搜索)。参考链接:https://doc.natfrp.com/#/frpc/usage/linux
  2. 如果只是想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

  1. Centos需要

    1. 后台运行jupyter服务:jupyter notebook --no-browser --port=8889,同样可以用Tmux或者Screen工具后台运行。
  2. windows需要

    1. 本地打开CMD或者Powershell
    2. 输入:ssh -p 1234576 -N -f -L localhost:8888:localhost:8889 root@xxxx,意思就是把远程的8889端口映射到本地的8888端口。-N 告诉SSH没有命令要被远程执行; -f 告诉SSH在后台执行; -L 是指定port forwarding的配置,远端端口是8889,本地的端口号的8888。注意这一步并不会有输出 并不是卡住了
    3. Windows浏览器输入http://localhost:8888/就可以进行访问远程的Centos服务器

https://www.jianshu.com/p/8fc3cd032d3c

你可能感兴趣的:(日常学习,ssh,远程,jupyter,Linux)