我可以运行位于远程服务器上本地计算机上的bash脚本吗?

Dav*_*uer 3 ssh bash shell

我有本地脚本,我想在远程服务器上运行.我已经设置了ssh密钥对来启用没有密码的登录.

我目前的方法是将脚本rsync到服务器然后运行它:

ssh user@remoteserver "rsync localserver:script.sh ./; ./script.sh; rm script.sh"
Run Code Online (Sandbox Code Playgroud)

然而,这似乎是一个黑客; 是否有更友好的方式来做到这一点?

更新:既然有这么多好的答案,任何人都可以通过提供理由帮助我选择"最好的"吗?

edu*_*ffy 10

SSH将从中获取命令 stdin

ssh -T user@server <script.sh
Run Code Online (Sandbox Code Playgroud)

编辑:-T Disable pseudo-tty allocation