Cara copy folder dari remote ke lokal menggunakan scp?

Cara copy folder dari remote ke host lokal menggunakan scp?

Saya menggunakan ssh untuk log di server saya. Kemudian, saya ingin copy remote folder foo lokal /home/user/Desktop.

Bagaimana untuk mencapai hal ini?

Mengomentari pertanyaan (8)
Larutan
scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

Dari man scp (Lihat online manual)

-r yang secara Rekursif menyalin seluruh direktori

Komentar (11)

Untuk menggunakan kekuatan penuh dari scp anda perlu untuk pergi melalui langkah-langkah berikutnya:

  1. Kunci publik authorisation
  2. Membuat ssh alias

Kemudian, untuk contoh jika anda memiliki ~/.ssh/config:

Host test
    User testuser
    HostName test-site.com
    Port 22022

Host prod
    User produser
    HostName production-site.com
    Port 22022

anda'll menyelamatkan diri dari entri kata sandi dan menyederhanakan scp sintaks seperti ini:

scp -r prod:/path/foo /home/user/Desktop   # copy to local
scp -r prod:/path/foo test:/tmp            # copy from remote prod to remote test

Terlebih lagi, anda akan dapat menggunakan remote jalan-penyelesaian:

scp test:/var/log/  # press tab twice
Display all 151 possibilities? (y or n)

Update:

Untuk mengaktifkan remote bash-selesai anda harus memiliki bash shell di kedua <sumber> dan <target> host, dan benar bekerja bash-selesai. Untuk informasi lebih lanjut lihat pertanyaan terkait:

Cara mengaktifkan pelengkapan otomatis untuk remote jalan ketika menggunakan scp?
SCP filename tab penyelesaian

Komentar (10)

Untuk menyalin semua dari Lokasi Setempat untuk Lokasi Terpencil (Tanggal)

scp -r /path/from/destination username@hostname:/path/to/destination

Untuk menyalin semua dari Lokasi Terpencil untuk Lokasi Setempat (Download)

scp -r username@hostname:/path/from/destination /path/to/destination

Port kustom di mana xxxx adalah port kustom jumlah

 scp -r -P xxxx username@hostname:/path/from/destination /path/to/destination

Copy pada direktori saat ini dari Remote ke Lokal

scp -r username@hostname:/path/from/file .

Membantu:

  1. -r secara Rekursif copy semua direktori dan file
  2. Gunakan selalu penuh lokasi dari /, Mendapatkan lokasi penuh dengan pwd
  3. scp akan mengganti semua file yang ada
  4. hostname akan menjadi nama host atau alamat IP
  5. jika port kustom diperlukan (selain port 22) menggunakan -P portnumber
  6. . (dot) - ini berarti direktori kerja saat ini, Jadi download/copy dari server dan paste di sini saja.

Catatan: kadang-Kadang port kustom tidak akan bekerja karena port tidak diperbolehkan dalam firewall, jadi pastikan bahwa port kustom diperbolehkan dalam firewall untuk masuk dan keluar koneksi

Komentar (8)

Apa yang selalu saya gunakan adalah:

scp -r username@IP:/path/to/server/source/folder/  .

. (dot) : itu berarti map. jadi salin dari server dan paste di sini saja.

IP : dapat alamat IP seperti 125.55.41.311 atau itu bisa menjadi tuan rumah seperti ns1.mysite.com.

Komentar (1)

Lebih baik untuk pertama kompres katalog pada remote server:

tar czfP backup.tar.gz /path/to/catalog

Kedua, men-download dari jarak jauh:

scp user@your.server.example.com:/path/to/backup.tar.gz .

Pada akhirnya, mengekstrak file:

tar -xzvf backup.tar.gz
Komentar (2)

Dan jika anda memiliki salah satu neraka dari sebuah file untuk di-download dari lokasi terpencil dan jika anda don't peduli tentang keamanan, cobalah mengubah scp default enkripsi (Triple-DES) untuk sesuatu seperti 'blowfish'.

Hal ini akan mengurangi waktu penyalinan file secara drastis.

scp -c blowfish -r user@your.server.example.com:/path/to/foo /home/user/Desktop/
Komentar (1)

Pergi ke File pada kesatuan toolbar

Tekan Ctrl + l dan menulis here_goes_your_user_name@192.168.10.123

Yang 192.168.1.103 adalah tuan rumah yang ingin anda hubungkan.

Yang berikut ini salah satu contoh

Komentar (0)

Skenario,

scp -r -P port username@ip:/path-to-folder  .

menjelaskan dengan contoh,

scp -r -P 27000 abc@10.70.12.12:/tmp/hotel_dump .

di mana,

port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory
Komentar (1)

Dalam kasus anda mengalami "Terlalu banyak kegagalan otentikasi", tentukan tepat SSH key anda telah ditambahkan ke severs ssh server:

scp -r -i /path/to/local/key user@remote.tld:/path/to/folder /your/local/target/dir
Komentar (0)

Pertanyaannya adalah bagaimana cara copy folder dari remote 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 Aman File Transfer Protocol, atau SFTP) adalah sebuah protokol jaringan yang menyediakan akses file, transfer file, dan file manajemen atas setiap data yang dapat diandalkan streaming.(wikipedia).

$ sftp user_remote@remote_ip

sftp> cd /path/ke/remoteDir

sftp> get-r remoteDir

Mengambil /path/ke/remoteDir untuk localDir 100% 398 0.4 MB/s 00:00

Untuk bantuan tentang sftp perintah salah ketik help atau ?.

Komentar (0)

Saya don't tahu mengapa tapi aku harus menggunakan folder lokal sebelum server sumber direktif . untuk membuatnya bekerja

scp -r . root@888.888.888.888:/usr/share/nginx/www/example.org/
Komentar (1)