Bagaimana cara mentransfer file ke server saya menggunakan Putty?

16

ketika memanggil SCP di Putty pada kotak Win7 saya, itu tidak membiarkan saya menggunakan C: /, tapi saya juga tidak tahu di mana pada mesin lokal saya itu akan mencari file secara default. Tidak ada direktori program atau direktori pengguna yang berfungsi. Sebagai contoh, saya menyimpan file.txt di sebelah PuTTY.exe, dan juga di C: \ Users \ Me tetapi memanggil SCP file.txt file.txt di PuTTY gagal dua kali dengan

cp: tidak bisa membuat stat 'file.txt'

Jadi, bagaimana cara mentransfer file ke server saya menggunakan Putty?

EDIT: Juga, panggilan SCP file.txt myserver:file.txtmemberikan kesalahan serupa:file.txt: No such file or directory

Trindaz
sumber
Anda tahu path lengkap ke file.txt Anda? lakukan myserver jalur lengkap ke
Terima kasih shadow_boi, tapi itu masalahnya: menggunakan path lengkap berarti termasuk c: \, yang memberi saya kesalahan ssh: Tidak dapat menyelesaikan nama host c: Nama atau layanan tidak dikenal
Trindaz
2
Saya kira Anda masuk ke server menggunakan dempul dan mengetik komentar CP seperti yang Anda sebutkan di atas? Itu masalahnya. Sekarang Anda berada di server, jadi ketika Anda mengetikkan C: server tidak memiliki drive c
1
Saya tidak berpikir dempul saja dapat melakukan pekerjaan. WinSCP adalah alat GUI yang bagus untuk salinan file yang aman, Putty bekerja sangat baik untuk pekerjaan itu juga menggunakan alat baris perintah yang disebut pscp.
Saya memiliki masalah menggunakan pscp untuk menyalin file melalui server perantara. Pertanyaan ini adalah dasar saya mencari tahu. Instruksi lengkap untuk membawa pertanyaan ini ke langkah selanjutnya ada di sini superuser.com/q/577663/57649
Scott

Jawaban:

13

Sudahkah Anda mencoba sesuatu seperti

pscp -l user1 c:\ftp\picture.jpg slacker1:/home/user1/pics

The pengguna untuk Putty menyarankan

Untuk mengirim file ke server jarak jauh:

pscp [options] source [source...] [user@]host:target

Jadi untuk menyalin file lokal c:\documents\foo.txtke server example.comsebagai pengguna fred ke file yang /tmp/fooAnda ketik:

pscp c:\documents\foo.txt [email protected]:/tmp/foo


Nota bene

The halaman download Putty memungkinkan Anda men-download putty.zip- satu set lengkap alat Putty atau Anda hanya dapat men-download alat yang Anda perlu (dalam hal ini Anda mungkin telah di-download putty.exe tetapi belum download pscp.exe)

RedGrittyBrick
sumber
1
Saya telah memasang dempul. Sepertinya saya tidak memiliki pscp yang tersedia di shell dempul atau di shell lokal saya. Bisakah Anda memberi sedikit lebih banyak cahaya? Dari mana Anda menjalankan pscp? Cheers
JonnyRaa
1
@JonnyLeeds: Saya menjalankannya di command prompt Windows (cmd) dari direktori instalasi Putty misalnya C:\Program Files (x86)\PuTTY\pscp.exedalam kasus saya. Anda dapat meletakkan path lengkap dalam tanda kutip ganda (karena spasi di dalamnya) atau menambahkan direktori ke% PATH% Anda (lihat jawaban lain di sini untuk cara melakukannya).
RedGrittyBrick
1
Hai terima kasih atas tanggapannya tetapi yang saya miliki di folder dempul saya adalah putty.exe, puttygen.exe, dan file
ppk
1
@JonnyLeeds: Anda dapat mengunduh hanya pscp.exe dari chiark.greenend.org.uk/~sgtatham/putty/download.html atau mengunduh putty.zip yang berisi set lengkap, konsisten versi terbaru alat Putty, dan ganti set jarang Anda miliki.
RedGrittyBrick
Jawaban yang bagus Satu lagi berita gembira: Anda sering dapat menggunakan titik setelah titik dua lokasi terpencil jika Anda tidak tahu ke mana Anda ingin file itu pergi. Sebagai contoh: pscp -l nama pengguna C: \ dir \ file.txt server :.
TOOGAM
6

Solusi yang tidak menggunakan Putty: Sambungkan ke server dengan FileZilla menggunakan SFTP untuk mentransfer file.

Trindaz
sumber
5

Tidak ada cara untuk memulai transfer file kembali ke / dari Windows lokal dari sesi SSH yang dibuka di jendela Putty.

Padahal versi Putty terbaru mendukung berbagi koneksi.

Meskipun Anda masih perlu menjalankan klien transfer file yang kompatibel ( pscpatau psftp), tidak diperlukan login baru, secara otomatis (jika diaktifkan) memanfaatkan sesi Putty yang ada.

Untuk mengaktifkan berbagi, lihat:
Berbagi koneksi SSH antara alat Putty .


Cara alternatif, adalah dengan menggunakan WinSCP, klien GUI SFTP / SCP . Saat Anda menelusuri situs jarak jauh, Anda dapat kapan saja membuka terminal SSH ke situs yang sama menggunakan perintah Buka di Putty .

Lihat Membuka Sesi di Putty .

Dengan pengaturan tambahan, Anda bahkan dapat membuat Putty secara otomatis menavigasi ke direktori yang sama yang Anda jelajahi dengan WinSCP.

Lihat Membuka Putty di Direktori yang Sama .

(Saya penulis WinSCP)

Martin Prikryl
sumber
0

Saya tidak dapat menemukan pscp seperti yang disarankan di atas dan akhirnya menggunakan WinScp.

Ini adalah program sisi klien dengan GUI yang mengambil konfigurasi dempul Anda.

JonnyRaa
sumber
chiark.greenend.org.uk/~sgtatham/putty/download.html menawarkan pscp.exe dan file psftp.exe yang serupa. The the.earth.li/~sgtatham/putty/latest/x86/... (untuk versi 0.63, yang merupakan versi terbaru pada saat tulisan ini) mungkin yang paling sederhana bagi orang-orang yang lebih memilih makhluk berjalan melalui proses instalasi yang mudah menggunakan GUI, sedangkan file putty.zip juga berisi putty.exe dan pscp.exe dan psftp.exe
TOOGAM
0
  1. Di PSFTP buka folder yang ingin Anda masukkan file.
    Kel. nama file cd
  2. Pada tipe baris perintah: lcd pathtofolder
    Ex. lcd C: \ Users \ Lyn \ Pictures
  3. Klik enter dan ketik: put filename
    Ex. menempatkan lynhw1.pdf
  4. Klik enter dan file harus ditransfer

Semoga ini bekerja untuk Anda seperti halnya bagi saya.
Catatan: Saya melakukan ini di PSFTP menggunakan Putty.

"PSFTP, klien Putty SFTP, adalah alat untuk mentransfer file secara aman antara komputer menggunakan koneksi SSH" - http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html

Unduh PSFTP di http://www.putty.org/ halaman web. Di bawah unduhan dempul di sini.

Lyn
sumber
-2

Jika Anda ingin mengotomatiskan transfer file semacam ini melalui .bat:

@echo off

set pw=foobemcfoobar

set inp=input.lst

for /F "tokens=*" %%i in (%inp%) do (

echo %%i

echo y | C:\tmp\pscp.exe -C -agent -pw "%pw%" C:\tmp\files\foo.txt root@%%i:/tmp/

echo "=== Accepting SSH, copying ...==="

 )

(di mana input.lstfile teks dengan target terdaftar)

Nin Kan
sumber
Meskipun mungkin relevan dengan topik , ini tidak menjawab pertanyaan.
Saya katakan Reinstate Monica
Juga jangan menyarankan orang untuk secara buta menerima kunci host menggunakan echo y. Anda kehilangan keamanan dengan melakukannya.
Martin Prikryl
mhh setuju, "echo y" adalah masalah keamanan. Adapun relevansi, saya hanya mengambil salinan file itu berpikir selangkah lebih maju karena saya pernah dalam situasi itu
Nin Kan