📜  通过永久创建隧道 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:12:25.651000             🧑  作者: Mango

通过永久创建隧道 - Shell-Bash

在Shell-Bash中,可以使用SSH命令来创建一个安全、加密的通信隧道。这是一种将本地计算机与远程服务器之间的通信连接起来的方式。通过这种方式,您可以访问远程服务器上的资源,而不用担心网络攻击或其他威胁。

创建永久隧道

以下是在Shell-Bash中创建永久隧道的步骤:

  1. 确保您已经安装了OpenSSH。在大多数Linux发行版和macOS上,OpenSSH已经自带了。

  2. 打开终端并输入以下命令:

ssh -fNL [本地端口号]:[远程IP地址]:[远程端口号] [远程用户名]@[远程IP地址]
  • 参数说明:
    • -f 表示将SSH命令放入后台运行
    • -N 表示不打开远程Shell,仅用于端口转发
    • -L 表示将本地端口的流量转发到远程主机
    • 本地端口号 表示本地计算机上的端口号,用于与远程服务器建立通信隧道
    • 远程IP地址 表示您要连接的远程服务器的IP地址
    • 远程端口号 表示远程服务器上的端口号,用于与本地计算机建立通信隧道
    • 远程用户名远程IP地址用于建立SSH连接

举个例子,如果您想通过SSH连接到一个名为example.com的远程服务器,并将本地端口8080发送到远程服务器的端口80,则可以使用以下命令:

ssh -fNL 8080:localhost:80 username@example.com
  1. 输入远程服务器的登录信息,包括远程用户名和密码。

  2. 输入完毕后,命令会在后台运行,创建一个SSH连接和通信隧道,直到您手动终止该连接。此时,您可以打开浏览器并在地址栏中输入localhost:8080来访问远程服务器上的内容。

终止连接

要关闭连接,您可以在终端中输入以下命令:

ssh -TfnN -D [本地端口号] [远程用户名]@[远程IP地址]
  • 参数说明:
    • -T 表示不分配TTY设备,仅用于端口转发
    • -f 表示将SSH命令放入后台运行
    • -n 表示不读取标准输入
    • -N 表示不打开远程Shell,仅用于端口转发
    • -D 表示将流量转发到远程主机的动态端口

以上命令可以关闭连接并终止隧道。请注意,这将关闭所有通过隧道连接到远程服务器的应用程序。

总结

在Shell-Bash中,通过SSH命令可以创建一个安全的通信隧道,使本地计算机可以访问远程服务器上的资源。创建永久隧道的过程非常简单,只需要输入一行命令即可。终止连接也很容易,只需要使用一条命令即可。