使用客户端 (linux) 中的资源在远程服务器中执行命令



我想在客户端中使用资源在远程服务器中执行命令(两端都是linux),例如:在客户端中我有一个shell文件(例如:/home/john/helloworld.sh),我使用ssh连接到远程服务器,然后我想在远程服务器中运行此shell文件而不将其上传到此服务器

有人对这个问题有任何解决方案吗?

编辑:谢谢,现在我可以从客户端运行shell文件,但我想运行一个c程序,有什么办法可以做到吗?

ssh user@remote sh - < mylocalscript.sh

直接在您的机器上进行测试:

echo ls | ssh localhost sh -

更新

对于评论:与发行版无关的部署脚本有时采用的一个技巧是嵌入静态的独立映像(确保内核兼容):

住在科里鲁

那里的base64数据是通过做

gcc -static -static-libgcc -Os -g0 -x c - <<< 'int main() {puts("hello world");return 0;}' -o standalone
dd if=standalone | gzip | base64 -w240

棘手的一个,使用 scp 复制文件将是最明显的解决方案。但是,根据您在远程服务器上的访问级别,您可以查看SSHFS(维基百科链接),它将允许您使用脚本挂载文件系统。

最新更新