gpt4 book ai didi

vba - 在 shell 中使用 writeline 执行密码更改命令时未读取密码

转载 作者:行者123 更新时间:2023-12-02 14:20:06 25 4
gpt4 key购买 nike

我有一个打开 plink 的代码使用 shell 命令进行 SSH 连接,我可以通过 StdIn.Writeline 运行任何命令密码更改命令以外的方法。如果我运行更改密码命令,我无法通过 StdIn.Writeline 输入密码方法。该命令类似于 set usr pwd .该命令完美执行,执行后要求“输入当前密码”。这里 WriteLine方法输入密码失败。

以下是代码和输出的示例:

Run = filename & " " & strCompAddress & " -P " & strServerPOrt & " -l " & strServerUser & " -pw " & strServerPassword
Set osh = CreateObject("Wscript.Shell")
Set oEx = osh.exec(Run)

oEx.StdIn.WriteLine "command 1" 'This command runs fine'
oEx.StdIn.WriteLine "command 2" 'This command runs fine'
oEx.StdIn.WriteLine "command 3" 'This command runs fine'
oEx.StdIn.WriteLine "set usr wd" 'This command runs fine'
oEx.StdIn.WriteLine "current_pwd" 'This doesn't input the password and it stucks here
oEx.StdIn.WriteLine "new_pwd"
oEx.StdIn.WriteLine "new_pwd"
oEx.StdIn.WriteLine "exit"

输出就像有很多转义序列命令。

命令 1
命令 2
命令 3
设置用户密码
当前密码
新密码
新密码
导出

命令 1
结果


命令 2
结果


命令 3
结果

设置用户密码
输入当前密码:

最佳答案

命令set user password (或无论它是什么)可能仅用于从终端读取密码,而不是从标准输入读取密码。这是一种常见的安全功能,可以完全避免这种自动密码更改。

尝试使用 Plink 命令行 switch -t 强制交互/终端模式.

这将使 Plink 输入重定向到虚拟终端,并使您的命令满意。

确保服务器管理员对您正在尝试做的事情感到满意。

关于vba - 在 shell 中使用 writeline 执行密码更改命令时未读取密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39358428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com