Monday, April 6, 2020

Cara Menggunakan Perintah SCP untuk Mentransfer File dengan Aman

SCP (salinan aman) adalah utilitas baris perintah yang memungkinkan Anda untuk menyalin file dan direktori dengan aman di antara dua lokasi.
Dengan scp , Anda dapat menyalin file atau direktori:
  • Dari sistem lokal Anda ke sistem jarak jauh.
  • Dari sistem jarak jauh ke sistem lokal Anda.
  • Antara dua sistem jarak jauh dari sistem lokal Anda.
Saat mentransfer data dengan scp , baik file dan kata sandi dienkripsi, sehingga siapa pun yang mengintai lalu lintas tidak mendapatkan apa pun yang sensitif.
Dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana menggunakan perintah scp melalui contoh-contoh praktis dan penjelasan rinci tentang opsi-opsi scp yang paling umum.

Sintaks Perintah SCP 

Sebelum membahas cara menggunakan perintah scp , mari kita mulai dengan meninjau sintaks dasar.
Sintaks perintah scp mengambil bentuk berikut:
 scp [ OPTION ] [ user@ ] SRC_HOST: ] file1 [ user@ ] DEST_HOST: ] file2 
  • OPTION - opsi scp seperti cipher, konfigurasi ssh, port ssh, batas, salinan rekursif ... dll.
  • [user@]SRC_HOST:]file1 - File sumber.
  • [user@]DEST_HOST:]file2 - File tujuan
File lokal harus ditentukan menggunakan jalur absolut atau relatif sementara nama file jarak jauh harus menyertakan spesifikasi pengguna dan host.
scp menyediakan sejumlah opsi yang mengontrol setiap aspek dari perilakunya. Opsi yang paling banyak digunakan adalah:
  • -P Menentukan port ssh host jarak jauh.
  • -p Mempertahankan modifikasi file dan waktu akses.
  • -q Gunakan opsi ini jika Anda ingin menekan meter kemajuan dan pesan non-kesalahan.
  • -C . Opsi ini akan memaksa scp untuk mengompres data saat dikirim ke mesin tujuan.
  • -r Opsi ini akan memberi tahu scp untuk menyalin direktori secara rekursif.

Sebelum Anda Mulai 

Perintah scp bergantung pada ssh untuk transfer data, sehingga diperlukan kunci ssh atau kata sandi untuk diautentikasi pada sistem jarak jauh.
Tanda titik dua ( scp adalah bagaimana scp membedakan antara lokasi lokal dan jarak jauh.
Untuk dapat menyalin file, Anda harus memiliki setidaknya membaca izin pada file sumber dan menulis izin pada sistem target.
Hati-hati saat menyalin file yang memiliki nama dan lokasi yang sama di kedua sistem, scp akan menimpa file tanpa peringatan.
Saat mentransfer file besar, disarankan untuk menjalankan perintah scp di dalam layar atau sesi tmux .

Salin File dan Direktori Antara Dua Sistem dengan scp 

Salin File Lokal ke Sistem Jarak Jauh dengan perintah scp 

Untuk menyalin file dari sistem lokal ke sistem jarak jauh, jalankan perintah berikut:
 scp file.txt remote_username@10.10.0.2:/remote/directory 
Di mana, file.txt adalah nama file yang ingin kita salin, remote_username adalah pengguna di server jarak jauh, 10.10.0.2 adalah alamat IP server. Direktori /remote/directory adalah jalur ke direktori tempat Anda ingin menyalin file. Jika Anda tidak menentukan direktori jarak jauh, file akan disalin ke direktori home pengguna jarak jauh.
Anda akan diminta memasukkan kata sandi pengguna, dan proses transfer akan dimulai.
 remote_username@10.10.0.2's password: file.txt 100% 0 0.0KB/s 00:00 
Menghilangkan nama file dari lokasi tujuan menyalin file dengan nama asli. Jika Anda ingin menyimpan file dengan nama yang berbeda, Anda harus menentukan nama file yang baru:
 scp file.txt remote_username@10.10.0.2:/remote/directory/newfilename.txt 
Jika SSH pada host jarak jauh mendengarkan pada port selain dari default 22 maka Anda dapat menentukan port menggunakan argumen -P :
 scp -P 2322 file.txt remote_username@10.10.0.2:/remote/directory 
Perintah untuk menyalin direktori sama seperti ketika menyalin file. Satu-satunya perbedaan adalah bahwa Anda perlu menggunakan flag -r untuk rekursif.
Untuk menyalin direktori dari sistem lokal ke remote, gunakan opsi -r :
 scp -r /local/directory remote_username@10.10.0.2:/remote/directory 

Salin File Jarak Jauh ke Sistem Lokal menggunakan scp ommand 

Untuk menyalin file dari jarak jauh ke sistem lokal, gunakan lokasi jarak jauh sebagai sumber dan lokasi lokal sebagai tujuan.
Misalnya untuk menyalin file bernama file.txt dari server jauh dengan IP 10.10.0.2 jalankan perintah berikut:
 scp remote_username@10.10.0.2:/remote/file.txt /local/directory 
Jika Anda belum menetapkan login SSH tanpa kata sandi ke mesin jarak jauh, Anda akan diminta untuk memasukkan kata sandi pengguna.

Salin File Antara Dua Sistem Jarak Jauh menggunakan perintah scp 

Tidak seperti rsync , saat menggunakan scp Anda tidak perlu masuk ke salah satu server untuk mentransfer file dari satu ke mesin jarak jauh lainnya.
Perintah berikut akan menyalin file /files/file.txt file / /files/file.txt dari host remote host1.com ke direktori /files pada host2.com host remote.
 scp user1@host1.com:/files/file.txt user2@host2.com:/files 
Anda akan diminta memasukkan kata sandi untuk kedua akun jarak jauh. Data akan ditransfer langsung dari satu host jarak jauh ke yang lain.
Untuk merutekan lalu lintas melalui mesin yang mengeluarkan perintah, gunakan opsi -3 :
 scp -3 user1@host1.com:/files/file.txt user2@host2.com:/files