SFTP (SSH File Transfer Protocol) adalah protokol file aman yang digunakan untuk mengakses, mengelola, dan mentransfer file melalui SSH transport terenkripsi.

Jika dibandingkan dengan protokol FTP tradisional, SFTP menawarkan semua fungsionalitas FTP, dan lebih mudah untuk dikonfigurasi.

Berbeda dengan perintah scp, yang hanya memungkinkan transfer file, perintah sftp memungkinkan Anda untuk melakukan berbagai operasi pada file jarak jauh dan melanjutkan transfer file.

Dalam tutorial ini, kita akan belajar bagaimana menggunakan perintah sftp.

Sebelum memulai

Untuk dapat mentransfer dan mengelola file melalui SFTP, Anda harus memiliki izin write (menulis) pada sistem jarak jauh.

Saat mentransfer file besar, disarankan untuk menjalankan perintah sftp di dalam sesi screen atau tmux.

Direktori tempat Anda menjalankan perintah sftp adalah local working directory (direktori kerja lokal).

Membuat koneksi SFTP

SFTP bekerja pada model client-server. SFTP adalah sub-sistem SSH dan mendukung semua mekanisme otentikasi SSH.

Meskipun otentikasi kata sandi tradisional diatur secara default dan lebih mudah digunakan, jika Anda secara teratur terhubung ke server Anda melalui SSH/SFTP, disarankan untuk membuat SSH keys dan mengatur login SFTP tanpa kata sandi.

Untuk membuka koneksi SFTP ke sistem jarak jauh, gunakan perintah sftp diikuti oleh nama pengguna server jauh dan alamat IP atau nama domain:

sftp remote_username@server_ip_or_hostname

Jika menggunakan otentikasi kata sandi, Anda akan diminta memasukkan kata sandi pengguna. Setelah terhubung, server jarak jauh akan menampilkan pesan konfirmasi dan prompt sftp.

Connected to remote_username@alamat_ip_atau_hostname.
sftp>

Jika server SSH tidak terdapat pada port default 22, gunakan opsi oPort yang menentukan port alternatif:

sftp -oPort=custom_port remote_username@alamat_ip_atau_hostname

Kumpulan Perintah SFTP

Sebagian besar perintah SFTP mirip atau identik dengan perintah yang akan Anda gunakan di Linux shell prompt.

Anda bisa mendapatkan daftar semua perintah SFTP yang tersedia dengan mengetikkan help atau simbol ?

help
Available commands:
bye                                Quit sftp
cd path                            Change remote directory to 'path'
...
...
version                            Show SFTP version
!command                           Execute 'command' in local shell
!                                  Escape to local shell
?                                  Synonym for help

Navigasi di SFTP

Setelah masuk ke server jarak jauh, direktori kerja saat ini adalah direktori home pengguna di mesin jarak jauh. Anda dapat memeriksanya dengan mengetik:

pwd
Remote working directory: /home/remote_username

Untuk membuat daftar file dan direktori, gunakan perintah ls:

ls

Untuk menavigasi ke direktori lain, gunakan perintah cd. Misalnya, perintah untuk berpindah ke direktori /tmp :

cd /tmp

Semua perintah di atas digunakan untuk menavigasi dan bekerja di lokasi yang jauh. Prompt Sftp juga menyediakan perintah untuk menavigasi mesin lokal, menampilkan informasi dan memanajemen file.

Misalnya, untuk mencetak direktori kerja lokal, kita dapat mengetik:

cd lpwd
Local working directory: /home/local_username

Cara Transfer File Menggunakan SFTP

SFTP memungkinkan Anda mentransfer file dengan aman di antara dua mesin.

Jika komputer memiliki akses GUI, memang lebih mudah untuk menggunakan klien SFTP desktop seperti WinSCP atau FileZilla untuk terhubung ke server jarak jauh untuk download atau upload file. Namun, perintah sftp berguna ketika Anda bekerja di mesin yang kedua mesin tersebut tanpa GUI (hanya baris perintah) .

Cara Download File dengan Perintah SFTP

Setelah masuk ke server jarak jauh, direktori kerja saat ini adalah direktori home user jarak jauh.

Saat mengunduh file dengan perintah sftp, file tersebut akan diunduh ke direktori tempat Anda mengetik perintah sftp.

Untuk mengunduh satu file dari server jarak jauh, gunakan perintah get:

get namafile.zip

Outputnya akan terlihat seperti ini:

Fetching /home/remote_username/namafile.zip to namafile.zip
/home/remote_username/namafile.zip                           100%   24MB   1.8MB/s   00:13

Jika ingin menyimpan file yang diunduh dengan nama yang berbeda, sebutkan nama sesudahnya:

get namafile.zip namafilebaru.zip

Untuk mengunduh direktori dari sistem jarak jauh, gunakan opsi -r rekursif:

get -r remote_directory

Jika transfer file gagal, Anda dapat melanjutkannya menggunakan perintah reget. Sintaks reget sama dengan sintaks get:

reget namafile.zip

Cara Upload File dengan Perintah SFTP

Untuk mengunggah file dari direktori lokal ke server FTP jarak jauh, gunakan perintah put:

put namafile.zip

Outputnya akan terlihat seperti ini:

Uploading filename.zip to /home/remote_username/filename.zip
namafile.zip                         100%   12MB   1.7MB/s   00:06

Jika ingin mengunggah file yang tidak ada di direktori kerja saat ini, gunakan jalur absolut ke file tersebut.

Saat menggunakan perintah put, Anda dapat menggunakan opsi yang sama yang tersedia dengan perintah get.

Untuk menyalin direktori lokal, gunakan perintah berikut :

put -r direktori_lokal

Untuk melanjutkan kembali upload yang terputus:

reput filename.zip

Manajemen Server dengan SFTP

SFTP memungkinkan Anda untuk melakukan beberapa perintah manipulasi file dasar. Berikut ini beberapa contoh cara menggunakan shell SFTP:

  • Menampilkan statistik penggunaan disk sistem jarak jauh:
    df
            Size         Used        Avail       (root)    %Capacity
        20616252      1548776     18002580     19067476           7%
  • membuat direktori baru di server jarak jauh:
    mkdir nama_direktori
  • Ganti nama file di server jarak jauh:
    rename nama_file nama_baru
  • hapus file di server jarak jauh:
    rm nama_file
  • Hapus direktori di server jarak jauh:
    rmdir nama_direktori
  • Ubah izin file pada sistem jarak jauh:
    chmod 644 nama_file
  • Ubah pemilik file di sistem jarak jauh:
    chown user_id nama_file

    Anda harus memberikan user ID ke perintah chown dan chgrp.

  • Ubah pemilik grup file jarak jauh dengan:
    chgrp group_id file_name

Setelah selesai dengan pekerjaan, Anda dapat menutup koneksi cukup dengan mengetik bye atau quit.

Kesimpulan

Dalam tutorial ini, Anda belajar cara menggunakan perintah sftp untuk mengunduh dan mengunggah file ke server SFTP jarak jauh.

Jika Anda secara teratur terhubung ke sistem yang sama, Anda dapat menyederhanakan alur kerja dengan mendefinisikan semua koneksi ke dalam file konfigurasi SSH.