用途
在远程服务器使用jupyter notebook或者tensorboard等时,在本地打开服务器端的网页的方式有很多比如可以使用MobaXterm工具等,此方法可参考https://blog.csdn.net/cc__cc__/article/details/108060618?spm=1001.2014.3001.5502。
若直接使用ssh则可通过如下命令:
ssh username@remote_address -L 127.0.0.1:8888:127.0.0.1:8008
其中8888是本地端口号,8008是服务器端端口号,可根据实际情况进行调整。
ssh中-L参数
在 SSH 中,-L 参数用于设置本地端口转发(Local Port Forwarding)。它允许你在本地主机上创建一个监听端口,将收到的连接转发到远程主机的指定端口,从而实现本地和远程主机之间的端口映射。
SSH 的本地端口转发语法如下
ssh -L [bind_address:]local_port:remote_address:remote_port user@remote_host
其中:
- [bind_address:]local_port:本地主机上用于监听的端口。
- remote_address:remote_port:远程主机和端口,数据将通过 SSH 连接转发到这个地址和端口上。
本地端口转发可以用于很多场景,例如:
- 访问远程主机上的服务:如果远程主机上有一些服务(例如数据库或Web服务器)只允许在本地访问,你可以使用本地端口转发来访问这些服务,将本地的端口映射到远程主机的服务端口上。
- 绕过防火墙限制:当你无法直接访问远程主机的某个端口时(例如远程主机的防火墙限制),你可以通过本地端口转发,将本地端口映射到允许访问的远程主机端口上,从而绕过限制。
- 安全访问服务:你可以将远程主机上的某些服务通过本地端口转发到本地主机,从而在本地主机上安全地访问这些服务,而不必直接连接到远程主机。
需要注意的是,使用本地端口转发时,本地主机上的端口是在本地监听的,并非远程主机上的实际端口。因此,当你在本地连接到转发的端口时,SSH 将会将数据通过安全的连接转发到远程主机上的相应端口。