首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何向SSH命令传递参数?

如何向SSH命令传递参数?
EN

Stack Overflow用户
提问于 2011-07-14 16:15:12
回答 3查看 11.4K关注 0票数 3

我配置了一个ssh命令密钥,如下所示(在远程mashine M1中):

代码语言:javascript
运行
复制
command="/usr/bin/nslookup",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-dss DEADBEEFDEADBEEF= mycow@farm.org

允许从客户端计算机C1在M1中运行nslookup。它可以工作,我可以运行:

代码语言:javascript
运行
复制
C1> ssh -i mylookup_key M1

我在M1上得到了nslookup的执行,但我需要传递参数才能得到真正的工作。如何将参数传递给ssh命令键?

p.d:我正在使用nslookup作为我想要执行的真实程序的一个示例。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-14 16:30:21

看一下应该包含传递给ssh的命令的$SSH_ORIGINAL_COMMAND变量。例如:

代码语言:javascript
运行
复制
command="/usr/bin/nslookup $SSH_ORIGINAL_COMMAND",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-dss DEADBEEFDEADBEEF= mycow@farm.org

然后尝试:

代码语言:javascript
运行
复制
$ ssh -i mylookup_key M1 stackoverflow.com
票数 6
EN

Stack Overflow用户

发布于 2011-07-14 16:23:23

如果我理解正确的话,您只是想在远程机器上运行一个命令。简单的情况是将命令作为最后一个参数传递给ssh

代码语言:javascript
运行
复制
ssh -i mylookup_key M1 nslookup stackoverflow.com

但是你可能需要注意引号和特殊字符。例如:

代码语言:javascript
运行
复制
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
票数 1
EN

Stack Overflow用户

发布于 2011-07-14 16:23:16

您是否尝试过将命令包含在'"中?就像这样

代码语言:javascript
运行
复制
ssh host "ls -l -a .."

这给了我

代码语言:javascript
运行
复制
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

这意味着它是有效的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6690315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档