步骤:
1. 现在服务器下用virtualenv配置python虚拟环境,并安装自己需要的包(比如 numpy,pandas等基础包,tensorflow, pytorch等框架包),安装 jupyter notebook包
2. 先参考下面链接配置jupyter的远程访问和端口,密码设置:
3. 服务器虚拟环境 env-py 下到对应目录下运行jupyter,通过ssh转发本地链接服务器端口8898(根据自己配置的jupyter 端口相应修改)
ssh -N -f -L 127.0.0.1:8898:127.0.0.1:8898 username@***.***.***.***
本地端口转发
所谓本地端口转发,就是将发送到本地端口的请求,转发到目标端口
这样,就可以通过访问本地端口,来访问目标端口的服务。使用-L属性,就可以指定需要转发的端口
语法:ssh -L 本地网卡地址:本地端口:目标地址:目标端口
1. # 在本地主机A1登陆远程云主机B1(103.59.22.17),并进行本地端口转发
ssh -L localhost:2000:localhost:3000 root@103.59.22.17
-L选项中的目标地址也可以是其他主机的地址。
2. # 在本地主机A1登陆远程云主机B1,并进行本地端口转发。请求被转发到远程云主机B2(192.168.59.100)上
ssh -L 2000:192.168.59.100:3000 root@103.59.22.17
远程端口转发
为啥需要远程端口转发呢?
--->通常,本地主机是没有独立的公网IP的,它与同一网络中的主机共享一个IP。没有公网IP,云主机是无法访问本地主机上的服务的。
所谓远程端口转发,就是将发送到远程端口的请求,转发到目标端口。这样,就可以通过访问远程端口,来访问目标端口的服务。
语法:ssh -R 远程网卡地址:远程端口:目标地址:目标端口
1 .# 在本地主机A1登陆远程云主机B1,并进行远程端口转发,将发送到远程云主机B1端口2000的请求,转发到本地主机A1端口3000。
ssh -R localhost:2000:localhost:3000 root@103.59.22.17
链式端口转发
本地端口转发与远程端口转发结合起来使用,实现链式转发
假设A主机在公司,B主机在家,C主机为远程云主机。A主机上运行了前文的Node.js服务,需要在B主机上访问该服务。由于A和B不在同一个网络,且A主机没有独立公共IP地址,所以无法直接访问服务。
方法:通过本地端口转发,将发送到B主机3000端口的请求,转发到远程云主机C的2000端口。
1. # 在B主机登陆远程云主机C,并进行本地端口转发
ssh -L localhost:3000:localhost:2000 root@103.59.22.17
通过远程端口转发,将发送到远程云主机C端口2000的请求,转发到A主机的3000端口。
2. # 在A主机登陆远程云主机C,并进行远程端口转发
ssh -R localhost:2000:localhost:3000 root@103.59.22.17