Bagaimana cara menyalin folder dari remote ke host lokal menggunakan scp
?
Saya gunakan ssh
untuk masuk ke server saya.
Kemudian, saya ingin menyalin folder jarak jauh foo
ke lokal /home/user/Desktop
.
Bagaimana saya mencapai ini?
shell
command-line
copy
scp
Slasengger
sumber
sumber
Jawaban:
Dengan tidak menyertakan trailing '/' di akhir foo, Anda akan memindahkan direktori itu sendiri (termasuk konten), daripada hanya isi direktori.
Dari
man scp
(Lihat manual online )sumber
-C
bendera menambah kompresi dan-c
bendera memungkinkan Anda memasukkan tipe sandi lain untuk kinerja yang lebih baik, seperti yangscp -c blowfish a@b:something .
terlihat dalam jawaban dimuthuDesktop/foo
atau akankah Anda memilikiDesktop/allcontentsofFooGohere
scp yang tampaknya bertingkah aneh kadang-kadang bagi saya itu melakukan satu dan lain halscp -r [email protected]:/path/to/foo /home/user/Desktop/
Anda harus berakhir denganDesktop/foo
. Denganscp -r [email protected]:/path/to/foo/. /home/user/Desktop/
Anda akan berakhir dengan isifoo
diDesktop
dan semua sub-dirs darifoo
bertebaran di bawahDesktop
Untuk menggunakan kekuatan penuh scp Anda harus melalui langkah-langkah selanjutnya:
Kemudian, misalnya jika Anda memiliki ~ / .ssh / config ini :
Anda akan menyelamatkan diri dari entri kata sandi dan menyederhanakan sintaks scp seperti ini:
Terlebih lagi, Anda akan dapat menggunakan penyelesaian jalur jarak jauh:
Memperbarui:
Untuk mengaktifkan penyelesaian-bash jarak jauh, Anda perlu memiliki bash-shell di kedua
<source>
dan<target>
host, dan penyelesaian-bash yang berfungsi dengan baik. Untuk informasi lebih lanjut, lihat pertanyaan terkait:Bagaimana mengaktifkan pelengkapan otomatis untuk jalur jauh saat menggunakan scp?
Penyelesaian tab nama file SCP
sumber
Untuk menyalin semua dari Lokasi Lokal ke Lokasi Jarak Jauh (Unggah)
Untuk menyalin semua dari Lokasi Jarak Jauh ke Lokasi Lokal (Unduh)
Kustom Pelabuhan mana
xxxx
adalah pelabuhan kustom nomorSalin pada direktori saat ini dari Remote ke Lokal
Tolong:
-r
Salin semua direktori dan file secara rekursif/
, Dapatkan lokasi lengkap olehpwd
scp
akan mengganti semua file yang adahostname
akan menjadi nama host atau alamat IP-P portnumber
Catatan: Terkadang port khusus tidak akan berfungsi karena port tidak diizinkan di firewall, jadi pastikan port custom diizinkan di firewall untuk koneksi masuk dan keluar
sumber
pwd
untuk mendapatkan lokasi dan menggunakan yang samaYang selalu saya gunakan adalah:
. (titik) : artinya
current folder
. jadi salin dari server dan tempel di sini saja.IP : bisa berupa alamat IP
125.55.41.311
atau bisa berupa hostns1.mysite.com
.sumber
.
merujuk ke direktori saat ini!Lebih baik mengompres katalog di server jauh:
Kedua, unduh dari jarak jauh:
Pada akhirnya, ekstrak file:
sumber
-C
flag, sepertiscp -C a@b:bigfile .
.Dan jika Anda memiliki satu file yang sangat besar untuk diunduh dari lokasi yang jauh dan jika Anda tidak terlalu peduli dengan keamanan, coba ubah enkripsi default scp (Triple-DES) menjadi sesuatu seperti 'blowfish'.
Ini akan mengurangi waktu penyalinan file secara drastis.
sumber
arcfour
menggantikanblowfish
, tetapi memiliki kelemahan keamanan.Skenario khas,
dijelaskan dengan sampel,
scp -r -P 27000 [email protected]:/tmp/hotel_dump .
dimana,
sumber
Buka File di bilah alat kesatuan Anda
Tekan Ctrl + l dan tulis di [email protected]
192.168.1.103 adalah tuan rumah yang ingin Anda sambungkan.
Ini salah satu contohnya
sumber
Pertanyaannya adalah bagaimana cara menyalin folder dari jarak jauh ke lokal dengan
scp
perintah.$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir
Tapi di sini adalah cara yang lebih baik untuk melakukannya dengan
sftp
- SSH File Transfer Protocol (juga Secure File Transfer Protocol, atau SFTP) adalah protokol jaringan yang menyediakan akses file, transfer file, dan manajemen file melalui aliran data yang andal. (Wikipedia).$ sftp user_remote@remote_ip
sftp> cd /path/to/remoteDir
sftp> get -r remoteDir
Fetching /path/to/remoteDir to localDir 100% 398 0.4KB/s 00:00
Untuk bantuan tentang
sftp
perintah cukup ketikhelp
atau?
.sumber
Jika Anda mengalami "Terlalu banyak kegagalan otentikasi" , tentukan kunci SSH yang tepat yang telah Anda tambahkan ke server ssh severs Anda:
sumber
Saya tidak tahu mengapa, tetapi saya harus menggunakan folder lokal sebelum direktif server sumber. untuk membuatnya bekerja
sumber
root@