3

(リモートのmashine M1で)次のようなsshコマンドキーを設定します。

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コマンドキーに渡すにはどうすればよいですか?

pd:実行したい実際のプログラムの例としてnslookupを使用しています。

4

3 に答える 3

6

$SSH_ORIGINAL_COMMANDに渡されるコマンドを含む必要がある変数を見てくださいssh。例えば:

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-14T08:30:20.717 に答える
1

私が正しく理解していれば、リモートマシンでコマンドを実行したいだけです。単純なケースは、コマンドを最後のパラメーターとして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-14T08:23:23.177 に答える
0

'コマンドをまたはで囲んでみましたか"?のようなもの

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

それが機能することを意味します

于 2011-07-14T08:23:15.567 に答える