我正在尝试运行 plink.exe 以在远程UNIX计算机上执行命令。 使用Putty登录时,我的命令执行成功。我的问题是使用相同的凭据(相同的用户和密码)来完全使用plink执行相同的命令。
我不断收到消息“无法使用此帐户执行UNIX shell命令”。 对于我输入的每个命令,我都收到相同的消息。
我用来运行命令的语法是:
C:>plink.exe -pw PASSWORD -m FILENAME USER@REMOTEHOST
我也尝试过不同的输入法,例如:
C:>plink.exe -l USER -pw PASSWORD -ssh REMOTEMACHINE -m FILENAME
但结果总是一样的。
我正在使用具有管理功能的用户。
我很乐意得到任何帮助。
答案 0 :(得分:2)
我认为这个问题与交互模式和非交互模式有关。当您使用putty登录或在未指定命令的情况下调用plink时,您将处于交互模式。
但是,如果您指定命令或带有命令列表的文件,则远程shell会将您的登录视为非交互式,并且显然拒绝您的连接。
我不确定遥控器如何决定将您的登录信息视为是否具有互动性。我建议尝试以下选项之一:
将命令放在script.sh
shell脚本中并将其复制到远程服务器,然后按以下方式运行:
C:>plink.exe -pw PASSWORD USER@REMOTEHOST "bash /path/to/remote/script.sh"
如果您不想将脚本放在远程服务器上,可以尝试将本地输入重定向到远程bash,但我不确定这是否适用于Windows:
C:>plink.exe -pw PASSWORD USER@REMOTEHOST bash < C:\path\to\local\script.sh
在这两个建议中,希望通过坚持bash
,您的shell将被视为交互式。