Plink错误 - " unix shell命令无法使用此帐户执行"

时间:2013-06-02 12:34:21

标签: plink

我正在尝试运行 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

但结果总是一样的。
我正在使用具有管理功能的用户。

我很乐意得到任何帮助。

1 个答案:

答案 0 :(得分:2)

我认为这个问题与交互模式和非交互模式有关。当您使用putty登录或在未指定命令的情况下调用plink时,您将处于交互模式。

但是,如果您指定命令或带有命令列表的文件,则远程shell会将您的登录视为非交互式,并且显然拒绝您的连接。

我不确定遥控器如何决定将您的登录信息视为是否具有互动性。我建议尝试以下选项之一:

  1. 将命令放在script.sh shell脚本中并将其复制到远程服务器,然后按以下方式运行:

    C:>plink.exe -pw PASSWORD USER@REMOTEHOST "bash /path/to/remote/script.sh"
    
  2. 如果您不想将脚本放在远程服务器上,可以尝试将本地输入重定向到远程bash,但我不确定这是否适用于Windows:

    C:>plink.exe -pw PASSWORD USER@REMOTEHOST bash < C:\path\to\local\script.sh
    
  3. 在这两个建议中,希望通过坚持bash,您的shell将被视为交互式。