2015-11-12 111 views
0

我试图远程启动-V命令,这要归功于ssh命令。我用的形式:ssh [[email protected]]host [command],所以我键入的命令行:SSH,远程命令作为ssh命令选项

ssh [email protected] -V 

然而,-V参数不作为应该在远程主机上执行的命令,但给当地一个选项代替ssh客户端。此命令类似于ssh -V [email protected](注意参数顺序):他们都给予ssh客户端版本(如-V参数应该):

OpenSSH_7.1p1, OpenSSL 1.0.2d 9 Jul 2015 

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

事实上,这并不是真正的-V命令我会执行。我在authorized_keys文件中使用command="..."选项字段在登录后获取特定命令,而不是shell。那么,我想给-V参数这个命令。但这不是问题,只是一个背景。 :)

+0

试过插入' - -V'? – MrTux

+0

不,并且随着它工作。 :) – ryolait

回答

0

-V被解释为commnad行选项。

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

-1

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

ssh [email protected] 'ssh -V' 
+0

不完全。我不想要远程版本的'ssh'(你的命令是什么),但是我想直接执行*'-V'。用你的单引号,'ssh myself @ remotehost'-V'',这与问题中给出的命令是一样的。 – ryolait