2011-11-07 19 views
2

私は周りを見回し、私の質問に対する答えを見つけることができなかった。私は、Sonicwall Routersから設定ファイルをエクスポートするための一連のSSHコマンドを自動化/スクリプト化する方法を探しています。私はsonicwallコマンドを設定しているが、私はそれらを自動化するのに問題がある。 SSHでSonicwallの1つに接続すると、ユーザーのためにプロンプ​​トが表示されます。ユーザー名を入力した後、ユーザー名とパスワードの入力を求められます。正しい情報を入力すると、設定のエクスポートを実行できます。以下はレイアウトの例です。誰かがこれを自動化/スクリプト化する方法を知っていれば教えてください。 %ユーザー名%SSHコマンド - 自動化/スクリプト

ユーザー:%ユーザー名%

パスワード:%パスワード%

コマンド:輸出好みのftp%FTPSERVER%%FTPUSER%%FTPPASSWORD%バックアップ

ユーザー事前

で 感謝.exp

答えて

1

ユーザーID /パスワードの代わりにキーを使用します。 http://pkeck.myweb.uga.edu/ssh/

+0

これは組み込みデバイスでは機能しないことがあります。 – a3nm

+0

これはルータ(sonicwall)で動作しますか?あなたが送った記事を読んで、それはサーバ接続だけを言います。 – Mpit52

1

ルーターはSSHユーザー名を要求しますが、パスワードは要求しません。 SSH経由でユーザー名でログインすると、Sonicwallは内部認証メカニズムを使用してユーザー名とパスワードの入力を求めます。これらのプロンプトは、Sonicwall CLI内の他のプロンプトと同様に扱います。あなたは、たとえば、次のように標準入力経由で(ユーザー名/パスワードを含む)あなたのコマンドを渡すことができます。

(echo -e 'admin\npassword'; sleep 1; echo tsr; sleep 2; echo logout; sleep 1) | ssh [email protected]

+0

plink.exe(puttyコマンドライン)を使用してこれらのコマンドを実行しようとしていますが、投稿したコードが機能しません。私は-shh [email protected]アドレスの前にplink.exeを含めるように少し修正しました。 "-e'admin \ npassword '行全体がスリープ1;エコーtsr;スリープ2;エコーログアウト;スリープ1)"がユーザープロンプトに表示されます。その時点から、sshセッションは応答しません。 どうすればこのことをやってみるといいですか?ついにこのスクリプトを振り返る時間があり、どんな助けでも大歓迎です。 – Mpit52

+0

私が提供したコマンドはLinuxのbashシェルを対象としていました。私はplinkを次のように使用します: 'plink -ssh -l admin -m commands.txt 10.50.14.41'これはあなたをログインさせ、commands.txtファイルでコマンドを実行します。そのファイルの最初の2つのコマンド(1行に1つ)は、Sonicwallのユーザー名とパスワードと、それに続けて発行するコマンドを入力します。私はそれを試していないが、理論的にはうまくいくはずです。 – PunctuallyChallenged

+0

ええ、私はそれを試して、それは動作しません。 「致命的なエラー:サーバーが予期せず閉じたネットワーク接続」エラーメッセージが表示されます。 plink.exeでこれを動作させることができない場合は、sshとWindows OSを使用してこれを実現できる他の方法がありますか? ご協力いただきありがとうございます。 – Mpit52

0

このスレッドは古いですが、私は最終的には、スクリプトこれらの愚かなのSonicWALLを得ました。これは私のコードではありませんが、私はどこでそれを見つけたのかわかりませんが、それは動作し、何でもできるようになります。ちょうどIPを変更し、ログインするか何でも。

@if (@CodeSection == @Batch) @then 

@echo on 
set SendKeys=CScript //nologo //E:JScript "%~F0" 

start \putty -ssh [email protected] 22 

TIMEOUT /T 5 
%SendKeys% "admin{ENTER}" 
TIMEOUT /T 2 
%SendKeys% "password{ENTER}" 
TIMEOUT /T 2 
%SendKeys% "restart{ENTER}" 
TIMEOUT /T 2 
%SendKeys% "y{ENTER}" 

pause 
@end 

WScript.CreateObject("WScript.Shell").SendKeys(WScript.Arguments(0)); 
関連する問題