在Ubuntu中使用SSH隧道(SSH Tunneling)可以让你安全地通过SSH连接转发本地端口到远程服务器上的端口,或者反过来。这通常用于绕过防火墙限制、保护数据传输或访问内部网络资源。以下是使用SSH隧道的基本步骤:
假设你想将本地机器的端口12345
转发到远程服务器example.com
的端口80
:
ssh -L 12345:localhost:80 user@example.com
这会创建一个隧道,使得访问本地机器的12345
端口时,数据会被转发到example.com
的80
端口。
假设你想将远程服务器example.com
的端口12345
转发到本地机器的端口80
:
ssh -R 12345:localhost:80 user@example.com
这会创建一个隧道,使得访问example.com
的12345
端口时,数据会被转发到本地机器的80
端口。
假设你想创建一个SOCKS代理,使得所有通过该代理的TCP连接都会被转发到远程服务器:
ssh -D 1080 user@example.com
这会创建一个SOCKS代理,监听本地机器的1080
端口。你可以配置浏览器或其他应用程序使用这个代理。
假设你想通过SSH隧道访问内部网络中的某个服务,例如internal-service.example.com
的端口80
:
ssh -L 8080:internal-service.example.com:80 user@example.com
然后,你可以通过访问localhost:8080
来访问internal-service.example.com
的80
端口。
如果你需要长时间保持SSH连接,可以使用autossh
工具来自动重连:
sudo apt-get install autossh
autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -L 12345:localhost:80 user@example.com
通过这些步骤,你可以在Ubuntu中轻松设置和使用SSH隧道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:如何在Ubuntu上使用SSH隧道