10

Я пытался скопировать файл с удаленного сервера, используя SCP, но он выдал следующую ошибку.

bash-3.2$ scp username@server:main.php C:\main.php

ssh: не удалось разрешить имя хоста C: имя хоста, имя сервера не указано или не известно

Предполагается, что C: в качестве имени хоста, но это просто имя диска ..Пожалуйста, позвольте мне, как указать явно, как некоторые экранирование, чтобы избавиться от этой проблемы.

Если я не указываю путь для сохранения на локальном рабочем столе, он работает нормально.

bash-3.2$ scp username@server:main.php main.php
main.php                                                                   100%   29KB  28.9KB/s   00:01

Ценю любую помощь .. Заранее спасибо,

PS: использование Windows XP SP2

5 ответов5

14

Если вы используете Cygwin's scp , вы можете попробовать использовать пути Cygwin:

scp user@host:main.php /cygdrive/c/main.php

Вы также можете использовать команды pscp и psftp включенные в пакет PuTTY - они являются родными программами Win32 и не будут жаловаться на пути Windows.

В качестве альтернативы WinSCP является хорошим SCP/SFTP-клиентом (прежде всего, с графическим интерфейсом пользователя, хотя также поставляется с инструментом командной строки).

2

Используйте PSCP.exe

Проблема, с которой вы столкнулись, заключается в том, что вы обращаетесь к диску Windows XP из оболочки, чего вы не можете сделать. Вы вошли на компьютер удаленно, поэтому, если на вашем компьютере Windows XP не установлен сервер ssh, и в этом случае вы будете использовать информацию для входа и pw в качестве места назначения, вы не сможете этого сделать.

Используя pscp.exe (бесплатно) вы можете делать то, что вы хотите.

0

@ Grawity это правильно. В будущем вы также можете запустить

pwd

чтобы узнать, в каком каталоге вы находитесь, чтобы вы могли определить правильный путь к нужному каталогу в соответствии с Cygwin.

0

related: мне нужно было использовать локальные переменные в пути, и использование cygpath оказалось очень полезным.

например

scp $MY_FILE ubuntu@192.128.23.23

становиться:

scp `cygpath $MY_FILE ` ubuntu@192.128.23.23 

по иронии судьбы, просто: только echo $MY_FILE давал путь cygwin, но использовался в команде scp, его почему-то не было, и выплевывал ту же ошибку, ssh: не удалось разрешить имя хоста C: предоставлено имя хоста или имя сервера, или неизвестно

0

У меня была похожая проблема, и я успешно использовал:

scp username @ server:main.php /c/main.php

что только упоминается другими.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .