Невозможно выполнить команды на сервере Windows через сеанс SSH с Plink - PullRequest
0 голосов
/ 08 июня 2010

Я пытаюсь использовать 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 ]

1 голос
/ 09 сентября 2014

Кажется, что plink -m работает нормально: команды из file.txt отправляются на сервер.

Однако на вашем SSH-сервере работает оболочка (вероятно, bash, потому что OpenSSH для Windows использует Cygwin), которая не понимает используемые вами команды, например move и dir. Потому что bash реализует свои собственные версии этих команд (mv и ls соответственно). Как вы обнаружили, вам нужно запустить cmd.exe /C из каталога Windows для вашего SSH-сервера, чтобы правильно интерпретировать смысл ваших команд. Другим вариантом является непосредственное использование bash версий команд.

1 голос
/ 29 января 2015

Вы используете OpenSSH поверх Cygwin на вашем сервере Windows.

Cygwin эмулирует среду Unix в Windows.

Таким образом, вы должны использовать Unix, а не команды Windows (например, mv не move или rename)

И вам нужно использовать Unix-подобные пути, а не пути Windows (в частности, прямые косые черты).

Более того, ваш сервер выглядит неправильно настроенным


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

Вероятно, это неправильно настроенная учетная запись. Ошибка не связана с командами, которые вы выполняете.

1 голос
/ 02 июля 2010

Это работает сейчас.

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

...