Menyalin File melalui SSH
SSH (Secure Shell) adalah protokol yang banyak digunakan untuk mengakses dan mengelola server jarak jauh secara aman melalui koneksi terenkripsi. Salah satu tugas yang paling umum dilakukan saat bekerja dengan SSH adalah menyalin file antara mesin lokal dan server jarak jauh atau antara dua server jarak jauh.
Pada artikel ini, kita akan menjelajahi berbagai cara untuk menyalin berkas melalui SSH, termasuk menggunakan SCP (Secure Copy Protocol), rsync, dan metode lainnya.
Mengapa Menggunakan SSH untuk Transfer File?
Menggunakan SSH untuk mentransfer file menawarkan beberapa keuntungan:
- Keamanan: SSH mengenkripsi perintah dan data selama transmisi, sehingga memastikan bahwa informasi sensitif terlindungi.
- Efisiensi: SSH cepat dan andal, memungkinkan Anda mentransfer file secara langsung antar sistem tanpa perlu masuk secara terpisah.
- Otomatisasi: SSH dapat diintegrasikan ke dalam skrip, sehingga memungkinkan transfer file secara otomatis di antara server atau mesin lokal.
1. Menyalin File dengan SCP (Protokol Salinan Aman)
SCP adalah salah satu alat yang paling populer untuk menyalin file secara aman melalui SSH. Alat ini memungkinkan Anda untuk mentransfer file dari mesin lokal ke server jarak jauh, dari server jarak jauh ke mesin lokal, atau di antara dua server jarak jauh.
Sintaks SCP Dasar:
Contoh 1: Menyalin File dari Mesin Lokal ke Server Jarak Jauh
Dalam contoh ini:
- /path/to/local/file adalah jalur ke berkas di mesin lokal Anda.
- username@remote_host adalah pengguna SSH dan nama host atau alamat IP server jauh.
- /path/to/remote/tujuan adalah jalur di mana berkas akan disimpan di server jauh.
Contoh 2: Menyalin berkas dari server jauh ke mesin lokal
Dalam kasus ini, file ditransfer dari server jauh ke mesin lokal.
Contoh 3: Menyalin direktori secara rekursif
Untuk menyalin seluruh direktori, gunakan opsi -r (rekursif):
Ini akan mentransfer direktori dan semua isinya ke server jauh.
Opsi SCP yang berguna:
- -P [port]: Tentukan port SSH jika berbeda dari default (22).
- -C: Mengaktifkan kompresi selama transfer untuk penyalinan file yang lebih cepat.
- -i [identity_file]: Gunakan kunci privat SSH tertentu untuk autentikasi.
2. Menyalin File dengan rsync
rsync adalah alat lain yang kuat untuk transfer berkas melalui SSH. Alat ini sering kali lebih disukai untuk transfer berkas yang besar atau berulang karena hanya menyalin perubahan antara sumber dan tujuan, sehingga menghemat waktu dan bandwidth.
Sintaks rsync dasar:
Contoh 1: Menyalin File dari Mesin Lokal ke Server Jarak Jauh
Contoh 2: Menyalin direktori dengan rsync
Opsi rsync yang berguna:
- -a: Mode arsip, yang mempertahankan tautan simbolis, izin, cap waktu, dan kepemilikan file.
- -v: Mode Verbose untuk menampilkan kemajuan selama transfer.
- -z: Mengaktifkan kompresi untuk mempercepat transfer.
- –hapus: Menghapus file di tujuan yang sudah tidak ada di sumber.
- -e “ssh -p [port]”: Menentukan port SSH khusus.
3. Menyalin File di Antara Dua Server Jarak Jauh
Dengan menggunakan SSH, Anda juga dapat menyalin berkas secara langsung di antara dua server jarak jauh. SCP dan rsync mendukung hal ini.
Contoh 1: Menyalin berkas di antara dua server jarak jauh dengan SCP
Contoh 2: Menyalin berkas di antara dua hos jauh dengan rsync
Ini sangat berguna untuk mentransfer berkas antar server tanpa harus mengunduhnya ke mesin lokal Anda terlebih dahulu.
4. Menyalin File dengan SFTP (Protokol Transfer File SSH)
SFTP adalah metode lain untuk mentransfer file dengan aman melalui SSH. Metode ini mirip dengan FTP tetapi menggunakan SSH untuk menyediakan enkripsi. SFTP biasanya digunakan dalam sesi interaktif tetapi juga dapat diotomatisasi.
Menggunakan SFTP:
Untuk memulai sesi SFTP, jalankan perintah berikut:
Setelah berada di dalam prompt SFTP, Anda dapat menggunakan perintah seperti:
- taruh /path/ke/lokal/file /path/ke/remote/tujuan: Mengunggah berkas dari mesin lokal Anda ke server jauh.
- get /path/to/remote/file /path/to/local/destination: Mengunduh berkas dari server jauh ke mesin lokal Anda.
- mput dan mget: Untuk mengunggah atau mengunduh beberapa berkas sekaligus.
Untuk keluar dari sesi SFTP, ketik exit atau quit.
5. Mengotomatiskan Transfer File dengan Kunci SSH
Untuk transfer file yang berulang kali, sebaiknya siapkan autentikasi berbasis kunci SSH agar Anda tidak perlu memasukkan kata sandi setiap kali.
Langkah 1: Buatlah Pasangan Kunci SSH (Jika Anda Belum Memilikinya)
Pada mesin lokal Anda, jalankan:
Ini akan menghasilkan pasangan kunci publik dan pribadi.
Langkah 2: Salin Kunci Publik ke Server Jarak Jauh
Gunakan perintah berikut untuk menyalin kunci publik Anda ke server jarak jauh:
Sekarang, Anda dapat masuk dan mentransfer file tanpa perlu memasukkan kata sandi, sehingga otomatisasi menjadi lebih mudah.
Kesimpulan
Menyalin berkas melalui SSH adalah cara yang aman dan efisien untuk mentransfer data antara mesin lokal Anda dengan server jarak jauh atau antara dua server jarak jauh. Baik Anda menggunakan SCP, rsync, atau SFTP, SSH menawarkan transfer berkas terenkripsi yang melindungi data Anda agar tidak disadap. Alat-alat seperti SCP sederhana untuk transfer satu kali, sedangkan rsync ideal untuk tugas sinkronisasi yang sedang berlangsung, terutama untuk berkas atau direktori yang besar. Memahami alat-alat ini akan membantu Anda mengelola transfer file dengan lebih efektif, terutama dalam lingkungan server jarak jauh.