【发布时间】:2013-08-01 11:56:06
【问题描述】:
我编写了以下 VBScript 以便使用 plink.exe 工具从 Windows 运行 Linux 脚本。
用户 - 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 "
但我仍然收到其他错误。
请告知我需要在脚本中进行哪些更改?
【问题讨论】:
-
strCommand11 = "echo y | " & cstrSftp1 & " -ssh -pw " & " adhdh " & "root1@" & pHost & " /var/tmp/script " -
这是正确的行为。您可以使用 putty 创建一个公共/私有 ssh-key-pair 并将公共密钥复制到 linux-machine 以防止它发生。有一个关于这个的腻子教程......谷歌它!
-
@roland 感谢它的工作,请添加您的答案,以便我为您投票