Я пытался скопировать файл с удаленного сервера, используя 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
/cygdrive/c
по умолчанию, но многие пользователи Cygwin работаютmount --change-cygdrive-prefix /
так, чтобы/c
вместо этого (и/d
т. Д.)Используйте PSCP.exe
Проблема, с которой вы столкнулись, заключается в том, что вы обращаетесь к диску Windows XP из оболочки, чего вы не можете сделать. Вы вошли на компьютер удаленно, поэтому, если на вашем компьютере Windows XP не установлен сервер ssh, и в этом случае вы будете использовать информацию для входа и pw в качестве места назначения, вы не сможете этого сделать.
Используя pscp.exe (бесплатно), вы можете делать то, что хотите.
источник
@ Grawity это правильно. В будущем вы также можете запустить
чтобы узнать, в каком каталоге вы находитесь, чтобы вы могли определить правильный путь к нужному каталогу в соответствии с Cygwin.
источник
У меня была похожая проблема, и я успешно использовал:
scp username @ server: main.php /c/main.php
что только упомянуто другими.
источник
related: мне нужно было использовать локальные переменные в пути, и оказалось, что использование
cygpath
было очень полезным.например
стать:
по иронии судьбы, просто: в
echo $MY_FILE
одиночку давал путь cygwin, но использовался в команде scp, его как-то не было, и выплевывал ту же ошибку, ssh: не удалось разрешить имя хоста C: указано имя хоста или имя сервера, или неизвестноисточник