Kopiowanie pliku zdalnego do określonej ścieżki na pulpicie lokalnym za pomocą scp


10

Próbowałem skopiować plik ze zdalnego serwera za pomocą SCP, ale pojawia się następujący błąd.

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

ssh: Nie można rozpoznać nazwy hosta C: podana nazwa hosta lub nazwa serwera jest nieznana

Przyjmuje C: jako nazwę hosta, ale jest to tylko nazwa napędu. Pozwól mi, jak wyraźnie określić, jak niektórzy uciekają, aby pozbyć się tego problemu.

Jeśli nie podam ścieżki do zapisania na lokalnym pulpicie, działa dobrze.

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

Doceń wszelką pomoc. Z góry dzięki,

PS: Korzystanie z systemu Windows XP SP2

Odpowiedzi:


14

Jeśli korzystasz z Cygwin scp, możesz spróbować użyć ścieżek Cygwin:

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

Możesz także użyć poleceń pscpi psftpzawartych w pakiecie PuTTY - są to rodzime programy Win32 i nie będą narzekać na ścieżki Windows.

Alternatywnie, WinSCP jest dobrym klientem SCP / SFTP (przede wszystkim GUI, choć jest również wyposażony w narzędzie wiersza poleceń).


To właściwie / cygdrive / c.
Adam Rosenfield

Dzięki za zalecany GUI. Należy pamiętać, że WinSCP umożliwia zmianę używanego z nim edytora i będzie działał w połączeniu z emacsclientw.
Giles Roberts,

1
@grawity Właściwie wcześniej miałeś rację. Jest to /cygdrive/cdomyślnie, ale wielu użytkowników cygwin działa, mount --change-cygdrive-prefix /więc /czamiast tego ( /ditd.), Ponieważ o wiele łatwiej jest pisać;)
DavidPostill

2

Użyj PSCP.exe

Problemem jest to, że odwołujesz się do napędu Windows XP z powłoki, której nie możesz zrobić. Jesteś zalogowany zdalnie na maszynie, więc jeśli twój Windows XP nie ma uruchomionego serwera ssh, w którym to przypadku użyjesz danych logowania i pw dla lokalizacji docelowej, nie możesz tego zrobić.

Za pomocą pscp.exe (za darmo) możesz robić, co chcesz.


0

@grawity ma rację. W przyszłości możesz także biegać

pwd

aby dowiedzieć się, w którym katalogu się znajdujesz, abyś mógł znaleźć właściwą ścieżkę do katalogu, który chcesz, zgodnie z cygwin.


0

Miałem podobny problem i odniosłem sukces używając:

nazwa użytkownika scp @ server: main.php /c/main.php

o czym wspominają tylko inni.


3
Czy to nie jest dokładnie to, co omawia superuser.com/a/291841/53590 ? Plus po edycji z / c / do / cygdrive / c / po tym, jak wskazano, że ta ostatnia jest poprawna.
CVn

0

powiązane: Musiałem użyć zmiennych lokalnych na ścieżce i stwierdziłem, że użycie cygpathbyło bardzo pomocne.

na przykład

scp $MY_FILE ubuntu@192.128.23.23

zostać:

scp `cygpath $MY_FILE ` ubuntu@192.128.23.23 

jak na ironię, po prostu: echo $MY_FILEsam podał ścieżkę cygwina, ale użyty w komendzie scp, jakoś tak nie było i wypluł ten sam błąd, ssh: nie można rozwiązać nazwy hosta C: nazwa hosta ani nazwa serwera, lub nieznana

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.