Forward

ssh在登陆远程服务器之外, 还可以将端口转发.

Forward Remote Port to Local

将远程(服务器)的端口转发到本地(宿主机):

ssh -L <local-port>:<remote-address>:<remote-port> <username>@<address> -p <port>

用途: 服务器上有程序运行, 将端口暴露. 如果想要在本地也使用这个端口, 使用这个ssh端口转发

Example

在远程服务器上启动一个网页服务(如, 使用Pnpm: pnpm dev), 端口在本地的0.0.0.0:3000.

如果想要在本地调试网页, 需要在本地的浏览器访问这个网页. 因此将远程的端口转发给本地

Forward Local Port to Remote

将本地(宿主机)的端口转发到远程(服务器):

ssh -R <remote-port>:<local-address>:<local-port> <username>@<address> -p <port>

用途: 本地的程序提供端口, 使用转发, 在远程服务器也能使用

Example

本地启动了clash, 端口为7890.

远程使用梯子, 需要将7890端口转发到远程, 然后使用export http_proxy=http://127.0.0.1:7890使用端口