Menyalin file jarak jauh ke jalur yang ditentukan di desktop lokal menggunakan scp

10

Saya mencoba menyalin file dari server jauh menggunakan SCP tetapi memberikan kesalahan berikut.

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

ssh: Tidak dapat menyelesaikan nama host C: nama host atau servname yang disediakan, atau tidak dikenal

Dengan asumsi C: sebagai nama host tetapi hanya nama drive .. Tolong izinkan saya bagaimana menentukan secara eksplisit seperti beberapa yang melarikan diri untuk menyingkirkan masalah ini.

Jika saya tidak menentukan jalur tempat menyimpan di desktop lokal, itu berfungsi dengan baik.

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

Menghargai bantuan apa pun .. Terima kasih sebelumnya,

PS: Menggunakan Windows XP SP2

Naga Kiran
sumber

Jawaban:

14

Jika Anda menggunakan Cygwin scp, Anda dapat mencoba menggunakan jalur Cygwin:

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

Anda juga dapat menggunakan pscpdan psftpperintah yang disertakan dalam paket Putty - mereka adalah program Win32 asli dan tidak akan mengeluh tentang jalur Windows.

Atau, WinSCP adalah klien SCP / SFTP yang baik (terutama GUI, meskipun juga dilengkapi dengan alat baris perintah).

pengguna1686
sumber
Ini sebenarnya / cygdrive / c.
Adam Rosenfield
Terima kasih untuk GUI yang disarankan. Harap dicatat bahwa WinSCP memungkinkan Anda untuk mengubah editor yang Anda gunakan dengannya dan akan bekerja bersama dengan emacsclientw.
Giles Roberts
1
@ kegembiraan Sebenarnya Anda benar sebelumnya. Hal ini /cygdrive/csecara default, tetapi banyak pengguna cygwin menjalankan mount --change-cygdrive-prefix /sehingga /cbukan ( /ddll) seperti itu jauh lebih mudah untuk mengetik;)
DavidPostill
2

Gunakan PSCP.exe

Masalah yang Anda alami adalah karena Anda merujuk drive windows xp Anda dari shell yang tidak dapat Anda lakukan. Anda masuk dari jarak jauh ke mesin jadi kecuali jika kotak windows xp Anda memiliki server ssh yang berjalan dalam hal ini Anda akan menggunakan info masuk dan pw untuk lokasi tujuan, Anda tidak akan bisa melakukannya.

Menggunakan pscp.exe (gratis) Anda dapat melakukan apa yang Anda inginkan.


sumber
0

@grawity benar. Di masa depan, Anda dapat menjalankan juga

pwd

untuk mengetahui direktori tempat Anda berada, sehingga Anda dapat mengetahui jalur yang benar ke direktori yang Anda inginkan sesuai dengan cygwin.

Marquis Wang
sumber
0

Saya memiliki masalah yang sama dan sukses menggunakan:

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

yang hanya semacam disebutkan oleh yang lain.

Urthona
sumber
3
Sebenarnya, bukankah ini yang dibahas superuser.com/a/291841/53590 ? Plus telah diedit dari / c / ke / cygdrive / c / setelah itu menunjukkan bahwa yang terakhir adalah bentuk yang benar.
CVn
0

terkait: Saya perlu menggunakan variabel lokal di jalur, dan ternyata menggunakan cygpathsangat membantu.

misalnya

scp $MY_FILE [email protected]

menjadi:

scp `cygpath $MY_FILE ` [email protected] 

ironisnya, hanya: echo $MY_FILEsendirian memberikan jalur cygwin, tetapi digunakan dalam perintah scp, entah bagaimana tidak, dan meludahkan kesalahan yang sama, ssh: Tidak dapat menyelesaikan nama host C: nama host atau servname yang disediakan, atau tidak dikenal

Matt S.
sumber