SonicWall ファイアウォール デバイスにログインし、デバイス ルールセットの自動バックアップを実行するコマンドを発行するためのシェル スクリプト (Bash) を作成しようとしています。私はこれを Bash で行うことを好みますが、python、perl、except、または applescript ソリューションを受け入れます。bash で実行できない場合は、その旨をお知らせください。
問題:
1.) ファイアウォール上の SSH サーバーはカスタムです。ユーザー名とパスワードは、
$ ssh server.com
したがって、発行するユーザー名に関係なく、たとえば
$ ssh admin@server.com
SSHサーバーは、その後もユーザー名とパスワードのボックスを表示します
2.) SSH サーバーは最小限であり、公開鍵を使用できません
ヒアドキュメントを使用してみましたが、機能せず、すぐに「リモートホストによって接続が閉じられました」という結果になります。
実行する必要があるコマンドは、次の形式になります。
export preferences ftp "ftp.server.com" "user1" "mypassword" "output.exp"
接続すると、次のようになります。
$ ssh admin@server.com
Copyright (c) 2010 SonicWALL, Inc.
User:
ユーザー名が発行されると、パスワード プロンプトが表示されます。
User:user1
Password:
ヒアドキュメントを試してみましたが、役に立ちませんでした。
$ ssh server <<+
user1
mypassword
export preferences ftp "ftp.server.com" "user1" "mypassword" "output.exp"
exit
+
Pseudo-terminal will not be allocated because stdin is not a terminal.
Connection to 10.1.1.1 closed by remote host.
エコーを使用してコマンドもパイプしようとしましたが、それも機能しません。
コマンドを手動で入力しても問題なく動作します。
これに関する任意の助けをいただければ幸いです。