📜  如何在 Linux 中创建 SSH 隧道或端口转发?(1)

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

如何在 Linux 中创建 SSH 隧道或端口转发?

在 Linux 中,我们可以使用 SSH 隧道或端口转发来实现安全的远程访问。SSH 隧道将本地端口转发到远程主机上,端口转发会将远程端口转发到本地主机上。本文将介绍如何在 Linux 中创建 SSH 隧道或端口转发。

SSH 隧道

SSH 隧道允许我们将本地端口转发到远程主机上,以便通过 SSH 连接访问远程主机上的服务。我们可以使用以下命令来创建 SSH 隧道:

ssh -N -f -L <本地端口>:<远程主机>:<远程端口> <远程主机用户名>@<远程主机IP地址>
  • -N 标志告诉 SSH 不要执行远程命令。
  • -f 标志告诉 SSH 后台运行。
  • -L 标志告诉 SSH 要创建本地端口转发。

例如,我们想要将本地端口 1234 转发到远程主机 example.com 的端口 5678 上,可以使用以下命令:

ssh -N -f -L 1234:example.com:5678 user@example.com

我们可以通过访问本地主机上的端口 1234 来访问远程主机上的服务。如果我们想要关闭 SSH 隧道,可以使用以下命令:

ps aux | grep ssh
kill <PID>
端口转发

端口转发允许我们将远程主机上的端口转发到本地主机上,以便我们可以通过本地主机访问远程主机上的服务。我们可以使用以下命令来创建端口转发:

ssh -N -f -R <远程端口>:<本地主机>:<本地端口> <远程主机用户名>@<远程主机IP地址>
  • -R 标志告诉 SSH 要创建远程端口转发。

例如,我们想要将远程主机 example.com 上的端口 5678 转发到本地主机上的端口 1234 上,可以使用以下命令:

ssh -N -f -R 5678:localhost:1234 user@example.com

我们可以通过访问远程主机上的端口 5678 来访问本地主机上的服务。如果我们想要关闭端口转发,可以使用以下命令:

ps aux | grep ssh
kill <PID>
结论

在 Linux 中,我们可以使用 SSH 隧道或端口转发来实现安全的远程访问。使用 SSH 隧道可以将本地主机上的端口转发到远程主机上,使用端口转发可以将远程主机上的端口转发到本地主机上。我们只需要使用适当的标志和参数,即可在 Linux 中轻松创建 SSH 隧道或端口转发。