0

plink.exeを実行して、リモートの UNIX マシンでコマンドを実行しようとしています。Putty を使用してログインすると、コマンドが正常に実行されます。私の問題は、同じ資格情報 (同じユーザーとパスワード) を使用して、同じコマンドを plink で正確に実行する場合です。

「このアカウントを使用して UNIX シェル コマンドを実行することはできません」というメッセージが表示され続けます。入力するすべてのコマンドに対して同じメッセージが表示されます。

コマンドを実行するために使用している構文は次のとおりです。

  C:>plink.exe -pw PASSWORD -m FILENAME USER@REMOTEHOST

たとえば、次のように別の方法で入力してみました。

  C:>plink.exe -l USER -pw PASSWORD -ssh REMOTEMACHINE -m FILENAME

しかし、結果は常に同じです。
管理者権限を持つユーザーを使用しています。

喜んでお手伝いさせていただきます。

4

1 に答える 1

2

この問題は、対話モードと非対話モードに関係していると思います。putty でログインするか、コマンドを指定せずに plink を呼び出すと、対話モードになります。

ただし、コマンドまたはコマンドのリストを含むファイルを指定すると、リモート シェルはログインを非対話型として扱い、明らかに接続を拒否します。

リモートがログインを対話型として扱うかどうかをどのように決定するかは正確にはわかりません。これらのオプションのいずれかを試すことをお勧めします。

  1. コマンドをscript.shシェル スクリプトに入れてリモート サーバーにコピーし、次のように実行します。

    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
    

どちらの提案でも、そこに固執bashすることで、シェルが対話型として扱われることが期待されます。

于 2013-06-02T13:06:46.280 に答える