2016-10-07 6 views
1

ファームウェアを600プラスデバイスにプッシュできるようにバッチファイルを作成しています。pcpホストキープロンプトへの自動応答としてecho yを使用

私がコマンドプロンプトを表示している場合、ファームウェアをプッシュして、SSHキープロンプトにyesと答えて、次のコマンドを1行で実行できます。

echo y | pscp -v -scp -pw password C:\CNA1000\Firmware\CNA1504v1.1.7\CNA1504v1_1_7.run [email protected]:/tmp/.  

エコーy | SSHキーのプロンプトにyesと答えます。しかし、バッチファイルに追加しようとすると、コマンドプロンプトでパスワードが嫌いというエラーが表示されます。

具体的には、次のようになります。

そして、バッチファイルを破るためにCTRL + Cを押すまで繰り返します。

私はプロセスを自動化できるようにこれを行うより良い方法はありますか?

おかげで、

+0

質問を編集して、このバッチファイルの関連部分を含めることはできますか? – Kenster

+0

あなたはSendKeysで試してみることができますか? – npocmaka

+1

パスワードにはシンボル、おそらく '%'シンボルが含まれていますか? – rojo

答えて

0

盲目的に "y"と答えると、man-in-the-middle attacksに対する保護が失われます。

-hostkey switchには、ホスト鍵の指紋を使用する必要があります。


実際はWinSCPと同じですが、使い終わったものです。 WinSCP open commandには-hostkeyスイッチもあります。

-hostkeyスイッチを使用せずに動作する場合は、前回のWinSCPのインタラクティブな使用によるWindowsレジストリにホストキーがキャッシュされているためです。

同様に、pscpと同じです。対話的に前にPuTTYまたはpscp(またはPuTTYスイートの他のツール)を使用していて、ホスト鍵を確認していれば、キャッシュされます。そして、後で自動的に使用することは確認なしに行われます。

0

は私が正しく、私がやろうとした何をするバッチファイルのWinSCP.netを使用して終了しました。ここではWinSCP.netで上記を行う方法の例を示します。

@echo off 

"C:\Program Files (x86)\WinSCP\WinSCP.com"^
    /log="C:\Program Files (x86)\WinSCP\WinSCP.log" /ini=nul^
    /command^
    "open scp://root:[email protected]/"^
    "Put C:\CNA1000\Firmware\CNA1504v1.1.7\CNA1504v1_1_7.run /tmp/."^
    "exit" 

set WINSCP_RESULT=%ERRORLEVEL% 
if %WINSCP_RESULT% equ 0 (
    echo Success 
) else (
    echo Error 
) 

exit /b %WINSCP_RESULT% 

各IPアドレスに対して繰り返してください。

関連する問題