无法通过与Plink的SSH会话在Windows服务器上执行命令

时间:2010-06-08 07:25:06

标签: ssh plink

我正在尝试使用Plink在远程服务器上运行命令。本地和远程机器是Windows。虽然我能够使用Plink连接到远程计算机,但我无法使用'-m file'选项。我尝试了以下三种方法但无济于事:

尝试1:

plink.exe -ssh -pw mypwd gchhabra@machine -m file.txt

输出:

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

'file.txt'只包含一个命令,即dir

尝试2:

plink.exe -ssh -pw mypwd gchhabra@machine dir

输出:

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

尝试3:

plink.exe -ssh -pw mypwd gchhabra@machine < file.txt

在这种情况下,我得到以下输出:

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>  

我得到上述提示后,它就会挂起。在这方面有任何帮助吗?

3 个答案:

答案 0 :(得分:1)

现在正在运作。

plink -ssh -pw xxx gaurav.chhabra@server cmd.exe /c move c://sample//gc//file.txt c://test//

答案 1 :(得分:1)

似乎plink -m工作正常:来自file.txt的命令正在发送到服务器。

但是,您的SSH服务器正在运行一个shell(可能是bash,因为OpenSSH for Windows使用Cygwin),它不了解您正在使用的命令,如movedir。因为bash实现了这些命令的自己版本(分别为mvls)。如您所发现,您需要从Windows目录中运行cmd.exe /C以使SSH服务器正确解释命令的含义。另一种选择是直接使用bash版本的命令。

答案 2 :(得分:1)

您在Windows服务器上使用OpenSSH而不是Cygwin。

Cygwin在Windows上模拟Unix环境。

所以你必须使用Unix,而不是Windows命令(例如mv而不是moverename

你需要使用类似Unix的路径,而不是Windows路径(特别是正斜杠)。

此外,您的服务器似乎配置错​​误


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

这可能是配置不正确的帐户。该错误与您正在执行的命令无关。