Копіювання віддаленого файлу на вказаний шлях на локальному робочому столі за допомогою scp


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

Відповіді:


14

Якщо ви використовуєте Cygwin scp, ви можете спробувати використовувати шляхи Cygwin:

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

Ви також можете використовувати команди pscpта psftpкоманди, що входять до пакету PuTTY - вони є рідними програмами Win32 і не скаржаться на шляхи Windows.

Крім того, WinSCP є хорошим клієнтом SCP / SFTP (насамперед GUI, хоча також поставляється із інструментом командного рядка).


Це насправді / cygdrive / c.
Адам Розенфілд

Дякуємо за рекомендований графічний інтерфейс. Зверніть увагу, що WinSCP дозволяє змінювати редактор, який ви використовуєте з ним, і він буде працювати разом із emacsclientw.
Giles Roberts

1
@grawity Насправді ви раніше мали рацію. Це /cygdrive/cза замовчуванням, але багато користувачів cygwin працюють mount --change-cygdrive-prefix /так, що /cзамість цього ( /dтощо), оскільки це набагато простіше;)
DavidPostill

2

Використовуйте PSCP.exe

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

За допомогою pscp.exe (безкоштовно) ви можете робити все, що завгодно.


0

@grawity правильно. Надалі ви також можете запускатись

pwd

щоб дізнатися, в якому каталозі ви знаходитесь, щоб ви могли визначити правильний шлях до потрібного каталогу відповідно до cygwin.


0

У мене була схожа проблема і мав успіх у використанні:

scp ім'я користувача @ сервер: main.php /c/main.php

про який лише згадують інші.


3
Власне, це не саме те, про що йдеться в superuser.com/a/291841/53590 ? Плюс було відредаговано з / c / to / cygdrive / c / після того, як було зазначено, що остання є правильною формою.
CVn

0

пов’язано: мені потрібно було використовувати місцеві змінні на шляху, і виявлення використання 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: ім'я хоста, надане серверне ім'я, або невідомо

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.