SSH,远程命令作为ssh命令选项

SSH, remote command taken as ssh command options

我正在尝试远程启动 -V 命令1,感谢 ssh 命令。我使用的形式是:ssh [user@]host [command],所以我在命令行中输入:

ssh myself@remotehost -V

然而,-V 参数不是作为应该在远程主机上执行的命令,而是作为给本地 ssh 客户端的选项。此命令类似于 ssh -V myself@remotehost(注意参数顺序):它们都给出 ssh 客户端版本(作为 -V 参数应该):

OpenSSH_7.1p1, OpenSSL 1.0.2d 9 Jul 2015

如何指定我将在远程主机上执行 -V

1 事实上,这并不是我要执行的 -V 命令。我在 authorized_keys 文件中使用 command="..." 选项字段来在登录后获取特定命令,而不是 shell。好吧,我想为这个命令提供 -V 参数。但这不是问题,只是一个背景。 :)

-V 被解释为命令行选项。

插入 -- 以防止命令行参数解析器将以下参数解释为选项(即发出 -- -V)。

您应该将要在远程服务器上执行的命令用单引号引起来并包括完整的命令。

ssh myself@remotehost 'ssh -V'