0

plink.exeツールを使用して Windows から Linux スクリプトを実行するために、次の VBScript を作成しました。

ユーザー - root1、パスワード - adhdh

私のVBスクリプト:

Const Host = "110.18.3.32"
Set Sh = CreateObject("WScript.Shell")
Const cstrSftp1="""C:\Documents and Settings\Administrator\Desktop\plink.exe"""
strCommand11 = cstrSftp1  & " -ssh -pw " & " adhdh " & "root1@" & Host & " /var/tmp/script "  
Sh.Run "cmd /k " & strCommand11, 1, True
Set Sh = Nothing

でも問題は少ない

このスクリプトを初めて実行すると、から次のプロンプトが表示されますplink

キーをキャッシュに保存しますか? (はい/いいえ)

したがって、追加してこの問題を解決するecho yには、スクリプトの行を次のように変更します。

strCommand11 = echo y | cstrSftp1  & " -ssh -pw " & " adhdh " & "root1@" & Host & " /var/tmp/script "  

しかし、新しいスクリプトを実行すると、次のエラーで失敗します。

予想されるステートメントの終わり

私も試しました

"echo y | cstrSftp1  "

しかし、それでも他のエラーが発生します。

スクリプトで何を変更する必要があるか教えてください。

4

2 に答える 2

0

を使用するecho y | plink.exe ...ことは、この問題を解決するためのかなり不器用な方法です。/etc/ssh/ssh_host_rsa_key.pub最初にプロンプ​​トが表示されないようにするには、リモート サーバーの公開ホスト キー (例: ) をレジストリにインポートすることをお勧めします。公開鍵を Linux ホストで使用される形式から PuTTY が Windows レジストリで使用する形式に変換するためのPython スクリプトがあります。次のように、変換された値をレジストリに書き込むことができます。

Const Host = "110.18.3.32"

Set sh = CreateObject("WScript.Shell")
sh.RegWrite "HKCU\Software\SimonTatham\PuTTY\SshHostKeys\rsa2@22:" & Host _
  , "0x10001,0x9b95f6ac6cf5...", "REG_SZ"

'rest of your code here
于 2013-08-01T12:28:19.710 に答える
0
strCommand11 = "echo y | " & cstrSftp1 & " -ssh -pw " & " adhdh " & "root1@" & pHost & " /var/tmp/script " 
于 2013-08-01T12:11:06.807 に答える