📜  没有这样的远程“上游”-Shell-Bash (1)

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

没有这样的远程“上游”-Shell/Bash

如果你在远程服务器上工作,那么你可能会遇到某些偶发的问题,例如:

  • 你想要修改某些在服务器上运行的进程
  • 你想要执行一些在服务器上的脚本,但是你没有在本地安装它们需要的软件包
  • 你想要在远程服务器上运行一些命令,但是你又没有想通将这些命令发送到服务器的最好方式是什么

在这里有一个解决方案:远程“上游”。

什么是远程“上游”?

正如你可能已经猜到的那样,“上游”是指在你的本地计算机上运行的某个命令行工具。如果你现在在命令行中运行一个工具,比如 Git 或者 Bash,那么这个工具就是你的“上游”。

远程“上游”就是你将你的本地“上游”连接到远程服务器上的方式。一旦你成功地建立了这种连接,你就可以在远程服务器上使用你的本地计算机上的工具了。

如何建立远程“上游”?

建立远程“上游”是基于 SSH 连接的。如果你还不熟悉 SSH,请先阅读一些关于它的资料。在此处不会讲解 SSH 的基础知识。

你可以通过在你的本地计算机上打开终端并输入以下命令来为你的远程服务器建立一个 SSH 隧道:

ssh -N -L 3000:localhost:3000 user@your-server-ip

这里的 -N 标志告诉 SSH 不要执行任何命令,只是建立 SSH 隧道。 -L 标志指定了本地端口和服务器端口之间的映射,这里是将本地端口 3000 映射到远程服务器上的 localhost:3000 端口。

如何使用远程“上游”?

一旦你成功地建立了 SSH 隧道,你就可以在远程服务器上使用你的本地计算机上的工具了。比如,假设你在本地计算机上安装了 Node.js,你可以在远程服务器上运行一个 Node.js 服务器:

node server.js

现在你可以在你的本地浏览器上通过 http://localhost:3000 访问服务器了。要注意的是,在这之前,你需要在远程服务器的 shell 中切换到包含 server.js 的目录中。

总结

建立远程“上游”可以让你在远程服务器上使用你的本地计算机上的工具。虽然这种方案并不适合每个情况,但对于那些需要在远程服务器上运行不同的工具的开发人员来说,这是一个有用的工具。