在 CentOS 系统中,使用 SSH 转发端口(也称为 SSH 隧道)可以让你通过一个安全的 SSH 连接来访问其他服务器上的服务。SSH 端口转发有三种类型:本地端口转发、远程端口转发和动态端口转发。
本地端口转发允许你将本地机器上的一个端口转发到远程服务器上的一个端口。例如,你可以将本地的端口 8080 转发到远程服务器的端口 80。
ssh -L local_port:destination_host:destination_port user@ssh_server
例如:
ssh -L 8080:www.example.com:80 user@ssh_server
这会将本地机器的 8080 端口转发到 www.example.com
的 80 端口。
远程端口转发允许你将远程服务器上的一个端口转发到本地机器上的一个端口。例如,你可以将远程服务器的端口 8080 转发到本地机器的 80 端口。
ssh -R remote_port:destination_host:destination_port user@ssh_server
例如:
ssh -R 8080:localhost:80 user@ssh_server
这会将远程服务器的 8080 端口转发到本地机器的 80 端口。
动态端口转发允许你将本地机器的一个端口转发到一个 SOCKS 代理服务器。这对于绕过防火墙或其他网络限制非常有用。
ssh -D local_port user@ssh_server
例如:
ssh -D 1080 user@ssh_server
这会将本地机器的 1080 端口设置为一个 SOCKS 代理服务器。
假设你有一个远程服务器 ssh_server
,用户名为 user
,你想将本地机器的端口 8080 转发到远程服务器的端口 80:
ssh -L 8080:localhost:80 user@ssh_server
然后,你可以在本地机器上访问 http://localhost:8080
,实际上是通过 SSH 隧道访问了远程服务器的端口 80。
通过这些方法,你可以在 CentOS 系统中轻松地进行 SSH 端口转发。