使用客户端中的资源在远程服务器中执行命令 (linux)
Execute command in remote server using resources in client (linux)
我想在远程服务器中使用客户端中的资源执行命令(双方都是 linux),例如:在客户端中我有一个 shell 文件(例如:/home/john/helloworld .sh),我使用 ssh 连接到远程服务器,然后我想 运行 远程服务器中的这个 shell 文件而不将其上传到该服务器
有人解决这个问题吗?
编辑:谢谢 sehe,现在我可以从客户端 运行 shell 文件,但我想 运行 一个 c 程序,有什么办法吗?
棘手的一个,使用 scp 复制文件将是最明显的解决方案。但是,根据您在远程服务器上的访问级别,您可以查看 SSHFS (Wikipedia link),这将允许您使用其中的脚本挂载文件系统。
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
我想在远程服务器中使用客户端中的资源执行命令(双方都是 linux),例如:在客户端中我有一个 shell 文件(例如:/home/john/helloworld .sh),我使用 ssh 连接到远程服务器,然后我想 运行 远程服务器中的这个 shell 文件而不将其上传到该服务器
有人解决这个问题吗?
编辑:谢谢 sehe,现在我可以从客户端 运行 shell 文件,但我想 运行 一个 c 程序,有什么办法吗?
棘手的一个,使用 scp 复制文件将是最明显的解决方案。但是,根据您在远程服务器上的访问级别,您可以查看 SSHFS (Wikipedia link),这将允许您使用其中的脚本挂载文件系统。
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