在远程机器上运行本地脚本

2 scripts

我想运行一个存在于本地机器中的 sript,但它应该在远程机器上执行操作。我已经生成了公私钥,所以不需要密码验证

uli*_*tko 9

ssh是一个良好的 Unix 公民;我们可以通过管道传递它,我们可以以任何可以想象的方式重定向它的输出输入。

ssh user@host sh < your_script.sh
Run Code Online (Sandbox Code Playgroud)

此命令是重定向:您的 shell 将打开(本地!)文件your_script.sh并将其作为ssh命令的输入提供。ssh,反过来,将其标准输入隧道到远程命令,即sh实例。 sh没有参数从标准输入读取它的脚本。严格来说,这sh部分甚至不是必需的——ssh默认运行 shell——但它使解释更容易。

所以我们得到了一个sh实例,它在远程主机上启动,但从您的本地文件中读取命令。瞧!