本地端口转发链接服务器jupyter

步骤:

1. 现在服务器下用virtualenv配置python虚拟环境,并安装自己需要的包(比如 numpy,pandas等基础包,tensorflow, pytorch等框架包),安装 jupyter notebook包 

2. 先参考下面链接配置jupyter的远程访问和端口,密码设置:

Jupyter Notebook简介和配置说明

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 [email protected]

  -L选项中的目标地址也可以是其他主机的地址。

2. # 在本地主机A1登陆远程云主机B1,并进行本地端口转发。请求被转发到远程云主机B2(192.168.59.100)上

ssh -L 2000:192.168.59.100:3000 [email protected]


远程端口转发

为啥需要远程端口转发呢?

--->通常,本地主机是没有独立的公网IP的,它与同一网络中的主机共享一个IP。没有公网IP,云主机是无法访问本地主机上的服务的。

所谓远程端口转发,就是将发送到远程端口的请求,转发到目标端口。这样,就可以通过访问远程端口,来访问目标端口的服务。

语法:ssh -R 远程网卡地址:远程端口:目标地址:目标端口

1 .# 在本地主机A1登陆远程云主机B1,并进行远程端口转发,将发送到远程云主机B1端口2000的请求,转发到本地主机A1端口3000。

ssh -R localhost:2000:localhost:3000 [email protected]


链式端口转发

本地端口转发远程端口转发结合起来使用,实现链式转发

假设A主机在公司,B主机在家,C主机为远程云主机。A主机上运行了前文的Node.js服务,需要在B主机上访问该服务。由于A和B不在同一个网络,且A主机没有独立公共IP地址,所以无法直接访问服务。

方法:通过本地端口转发,将发送到B主机3000端口的请求,转发到远程云主机C的2000端口。

1. # 在B主机登陆远程云主机C,并进行本地端口转发

ssh -L localhost:3000:localhost:2000 [email protected]

通过远程端口转发,将发送到远程云主机C端口2000的请求,转发到A主机的3000端口。

2. # 在A主机登陆远程云主机C,并进行远程端口转发

ssh -R localhost:2000:localhost:3000 [email protected]

你可能感兴趣的:(本地端口转发链接服务器jupyter)