2010-06-08 4 views
0

J'essaie d'utiliser Plink pour exécuter des commandes sur un serveur distant. Les deux, la machine distante locale & sont Windows. Bien que je puisse me connecter à la machine distante en utilisant Plink, je ne suis pas capable d'utiliser l'option '-m file'. J'ai essayé trois manières différentes, mais en vain:Impossible d'exécuter des commandes sur le serveur Windows via une session SSH avec Plink

Try 1:

plink.exe -ssh -pw mypwd [email protected] -m file.txt 

Sortie:

Could not chdir to home directory /home/gchhabra: No such file or directory 
dir: not found 

'file.txt' ne contient qu'une seule commande c.-à-dir

Essayez 2:

plink.exe -ssh -pw mypwd [email protected] dir 

Sortie:

Could not chdir to home directory /home/gchhabra: No such file or directory 
dir: not found 

Essayez 3:

plink.exe -ssh -pw mypwd [email protected] < file.txt 

Dans ce cas, je reçois la sortie suivante:

Using username "gchhabra". 

          ****USAGE WARNING**** 

This is a private computer system. This computer system, including all 
..... including personal information, placed or sent over this system 
may be monitored. 

Use of this computer system, authorized or unauthorized, constitutes consent 
... constitutes consent to monitoring for these purposes. 


dirCould not chdir to home directory /home/gchhabra: No such file or directory 
Microsoft Windows [Version x.x.xxx] 
(C) Copyright 1985-2003 Microsoft Corp. 

C:\Program Files\OpenSSH> 

Après je reçois l'invite ci-dessus, il se bloque. Toute aide à cet égard?

Répondre

1

Il semble que plink -m fonctionne très bien: les commandes de fichier.txt sont envoyées au serveur.

Cependant, votre serveur SSH exécute un shell (probablement parce que bash OpenSSH pour Windows utilise Cygwin) qui ne comprend pas les commandes que vous utilisez, comme move et dir. Car bash implémente ses propres versions de ces commandes (mv et ls, respectivement). Comme vous l'avez découvert, vous devez exécuter cmd.exe /C dans le répertoire Windows pour que votre serveur SSH interprète correctement la signification de vos commandes. L'autre option consiste à utiliser directement les versions bash des commandes.

1

Vous utilisez OpenSSH sur Cygwin sur votre serveur Windows.

Le Cygwin émule l'environnement Unix sous Windows.

Vous devez utiliser Unix, pas de commandes de Windows (par exemple mv pas move ou rename)

Et vous avez besoin d'utiliser des chemins Unix, et non pas des chemins Windows (en particulier des barres obliques).

De plus, votre serveur semble mal configuré


Could not chdir to home directory /home/gchhabra: No such file or directory 

Ceci est probablement un compte configuré de manière incorrecte. L'erreur n'est pas liée aux commandes que vous exécutez.

Questions connexes