通过 ssh 上传文件并在远程机器上执行命令

jan*_*ver 6 ssh file-copy

我试图找到使用 ssh 上传文件的最简单方法,然后在同一 ssh 会话中的远程机器上运行命令进行一些后期处理,这样我就不需要再次登录了。如果可能,上传应该显示一些进度指示器。

到目前为止,我研究了 scp 和 rsync,它们都不能运行任何钩子。(我可以使用--rsync-path参数rsync之前执行一些脚本)但我想做后处理。有没有办法打开 ssh 会话、上传、执行命令并再次关闭它?

ckh*_*han 7

好吧,您可以通过一个ssh命令cat在另一端通过一个命令来管理整个事情。在这里,我上传了一个 shell 脚本,使其可执行,然后运行它:

$ cat sayhi.sh | ssh myserver 'cat > ./remotehi.sh ; chmod +x ./remotehi.sh ; ./remotehi.sh'
hello, world!
Run Code Online (Sandbox Code Playgroud)


gee*_*aur 4

您可能需要ControlMaster中的机制ssh