我配置了一个ssh命令密钥,如下所示(在远程mashine M1中):
command="/usr/bin/nslookup",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-dss DEADBEEFDEADBEEF= mycow@farm.org允许从客户端计算机C1在M1中运行nslookup。它可以工作,我可以运行:
C1> ssh -i mylookup_key M1我在M1上得到了nslookup的执行,但我需要传递参数才能得到真正的工作。如何将参数传递给ssh命令键?
p.d:我正在使用nslookup作为我想要执行的真实程序的一个示例。
发布于 2011-07-14 16:30:21
看一下应该包含传递给ssh的命令的$SSH_ORIGINAL_COMMAND变量。例如:
command="/usr/bin/nslookup $SSH_ORIGINAL_COMMAND",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-dss DEADBEEFDEADBEEF= mycow@farm.org然后尝试:
$ ssh -i mylookup_key M1 stackoverflow.com发布于 2011-07-14 16:23:23
如果我理解正确的话,您只是想在远程机器上运行一个命令。简单的情况是将命令作为最后一个参数传递给ssh
ssh -i mylookup_key M1 nslookup stackoverflow.com但是你可能需要注意引号和特殊字符。例如:
ssh -i mylookup_key M1 ./args.sh "1 2 3"
PROG:./args.sh
ARG[1]: 1
ARG[2]: 2
ARG[3]: 3
ssh -i mylookup_key M1 ./args.sh '"1 2 3"'
PROG:./args.sh
ARG[1]: 1 2 3发布于 2011-07-14 16:23:16
您是否尝试过将命令包含在'或"中?就像这样
ssh host "ls -l -a .."这给了我
total 12
drwxr-xr-x 3 root root 4096 2011-06-16 12:33 .
drwxr-xr-x 22 root root 4096 2011-06-16 13:40 ..
drwxr-xr-x 49 mihai mihai 4096 2011-07-14 10:33 mihai这意味着它是有效的
https://stackoverflow.com/questions/6690315
复制相似问题