scp, вызывающий «C: \ Program» не распознается как внутренний ... »

423
J. Dolde

Я пытаюсь scpпередать файл с локального компьютера на удаленный с помощью следующей команды:

scp "local/file/path/file.txt" user@remote.server:"remote/file/path" 

После ввода пароля удаленного пользователя выдается следующее сообщение об ошибке:

'C:\Program' is not recognized as an internal or external command, operable program or batch file. lost connection

Нет ничего очевидного, что должно быть причиной этой ошибки. Ни один путь к файлу не содержит "C: \ Program". Этот похожий вопрос был бесполезным. Я могу ssh в удаленную машину успешно.

Я хотел бы избежать использования Filezilla, WinSCP или подобных программ; эта команда должна войти в скрипт.

Что может быть причиной этой ошибки?

РЕДАКТИРОВАТЬ:

Команда

scp "home/c/users/administrator/desktop/test.txt" administrator@defaultserver:"home/c/users/administrator/desktop" 

EDIT2:

Похоже, ошибка выдается до того, как будут рассмотрены пути к файлам. Запуск отладчика выдает следующее сообщение перед ошибкой:

debug1: Sending command: scp -v -t /tmp 

Я загрузил OpenSSH в качестве моего SSH-сервера. Я извлек его в ~ / Program Files /, который, похоже, является единственным экземпляром, где этот каталог имеет отношение. Возможно, изменение места установки SSH-сервера изменит эту ошибку.

-1
В любое время вам нужно указать путь, в котором есть пробел в одном или нескольких именах папок (например, "\ Program Files", вам нужно заключить всю спецификацию файла в кавычки, например, "C: \ Program Files \ Microsoft \ Blah Blah \ program". EXE" Bill Hileman 6 лет назад 0
Было бы полезно, если бы вы представили * актуальную * командную строку, которую вы использовали. Daniel B 6 лет назад 0
Я обновил свой пост с верной командой. J. Dolde 6 лет назад 0
Есть ли причина, по которой вы не используете абсолютные пути? Похоже, вы собирались сделать это. Если возможно, попробуйте запустить SSH-клиент и сервер с `-vvv`, чтобы увидеть больше происходящего. Возможно, вы сможете определить, где начинается путь «Program Files». Daniel B 6 лет назад 0
Я сделал еще несколько поисков, и кажется, что ошибка происходит до того, как какой-либо путь к файлу пройден, проверьте новое редактирование. J. Dolde 6 лет назад 0
Установка приложения под Linux по пути с пробелом в его имени вызывает проблемы. В то время как * вы * можете экранировать пробелы или указывать путь в кавычках, чтобы сохранить пробел, нет никаких оснований предполагать, что программа была настроена на это. DrMoishe Pippik 6 лет назад 0
Понимаю. У меня сложилось впечатление, что scp встроен, я должен проверить это позже. Daniel B 6 лет назад 0
Правильно ли я понимаю, что вашим сервером является Linux? Тем не менее, вы загрузили сервер OpenSSH? (почему? OpenSSH встроен во все основные дистрибутивы Linux) И вы помещаете его в папку «Program Files» вашего домашнего каталога пользователя? Опять почему? Это все не имеет никакого смысла. Martin Prikryl 6 лет назад 1

1 ответ на вопрос

0
Prashast

Попробуй это :

scp /Users/PrashastKumar/Desktop/sample2.pdf prashasht@backup-new.xxx.com:/tmp 

без кавычек. Это работает для меня.

К сожалению, это не помогло. При дальнейшей проверке путь к файлу, похоже, не учитывается до сбоя команды, см. Выше в Edit 2. J. Dolde 6 лет назад 0

Похожие вопросы