SFTP (SSH File Transfer Protocol) adalah protokol file aman yang digunakan untuk mengakses, mengelola, dan mentransfer file melalui transport SSH terenkripsi.
Jika dibandingkan dengan protokol FTP tradisional, SFTP menawarkan semua fungsionalitas FTP, tetapi lebih aman dan lebih mudah untuk dikonfigurasi.
Tidak seperti SCP, yang hanya mendukung transfer file, SFTP memungkinkan Anda melakukan berbagai operasi pada file jarak jauh dan melanjutkan transfer file.
Dalam tutorial ini, kami akan menunjukkan cara menggunakan Linux sftp
perintah.
Sebelum Anda Mulai #
Untuk dapat mentransfer file melalui SFTP, Anda harus memiliki izin menulis di sistem jarak jauh.
Saat mentransfer file besar, disarankan untuk menjalankan sftp
perintah di dalam layar atau tmuxsession.
Direktori tempat Anda menjalankan sftp
perintah adalah direktori kerja lokal.
Membuat koneksi SFTP #
SFTP bekerja pada model client-server. Ini adalah subsistem SSH dan mendukung semua mekanisme otentikasi SSH.
Untuk membuka koneksi SFTP ke sistem jarak jauh, gunakan sftp
perintah diikuti dengan nama pengguna server jarak jauh dan alamat IP atau nama domain:
sftp remote_username@server_ip_or_hostname
Jika Anda terhubung ke host menggunakan otentikasi kata sandi, Anda akan diminta untuk memasukkan kata sandi pengguna.
Setelah terhubung, Anda akan disajikan dengan sftp
prompt, dan Anda dapat mulai berinteraksi dengan server jarak jauh:
Connected to remote_username@server_ip_or_hostname.
sftp>
Jika server SSH jarak jauh tidak mendengarkan pada port default 22, gunakan -P
opsi untuk menentukan port SFTP:
sftp -P custom_port remote_username@server_ip_or_hostname
Perintah SFTP #
Sebagian besar perintah SFTP serupa atau identik dengan perintah shell Linux.
Untuk mendapatkan daftar semua perintah SFTP yang tersedia, ketik help
, atau ?
.
help
Ini akan menampilkan daftar panjang semua perintah yang tersedia, termasuk deskripsi singkat dari setiap perintah:
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
Menavigasi dengan SFTP #
Saat Anda masuk ke server jauh, direktori kerja Anda saat ini adalah direktori home pengguna jarak jauh. Anda dapat memeriksanya dengan mengetik:
pwd
Remote working directory: /home/remote_username
Untuk membuat daftar file dan direktori, gunakan ls
perintah:
ls
Untuk menavigasi ke direktori lain, gunakan cd
memerintah. Misalnya, untuk beralih ke /tmp
direktori yang akan Anda ketik:
cd /tmp
Perintah di atas digunakan untuk menavigasi, dan bekerja di lokasi yang jauh.
Shell SFTP juga menyediakan perintah untuk navigasi lokal, informasi, dan manajemen file. Perintah lokal diawali dengan huruf l
.
Misalnya, untuk mencetak direktori kerja lokal, ketikkan:
cd lpwd
Local working directory: /home/local_username
Mentransfer File dengan SFTP #
SFTP memungkinkan Anda mentransfer file antara dua mesin dengan aman.
Jika Anda bekerja pada mesin desktop, Anda dapat menggunakan klien GUI SFTP seperti WinSCPor FileZillauntuk terhubung ke server jauh dan mengunduh atau mengunggah file.
sftp
perintah ini berguna ketika Anda bekerja di server tanpa GUI, dan Anda ingin mentransfer file atau melakukan operasi lain pada file jarak jauh.
Mengunduh File dengan Perintah SFTP #
Untuk mengunduh satu file dari server jauh, gunakan get
perintah:
get filename.zip
Outputnya akan terlihat seperti ini:
Fetching /home/remote_username/filename.zip to filename.zip
/home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13
Saat mengunduh file dengan sftp
, file diunduh ke direktori tempat Anda mengetik sftp
perintah.
Jika Anda ingin menyimpan file yang diunduh dengan nama yang berbeda, tentukan nama baru sebagai argumen kedua:
get filename.zip local_filename.zip
Untuk mengunduh direktori dari sistem jarak jauh, gunakan -r
rec rekursif pilihan:
get -r remote_directory
Jika transfer file gagal atau terputus, Anda dapat melanjutkannya menggunakan reget
perintah.
Sintaks reget
sama dengan sintaks get
:
reget filename.zip
Mengunggah File dengan Perintah SFTP #
Untuk mengunggah file dari mesin lokal ke server SFTP jarak jauh, gunakan put
perintah:
put filename.zip
Outputnya akan terlihat seperti ini:
Uploading filename.zip to /home/remote_username/filename.zip
filename.zip 100% 12MB 1.7MB/s 00:06
Jika file yang ingin Anda unggah tidak berada di direktori kerja Anda saat ini, gunakan jalur absolut ke file tersebut.
Saat bekerja dengan put
Anda dapat menggunakan opsi yang sama yang tersedia dengan get
perintah.
Untuk mengunggah direktori lokal, ketik:
put -r locale_directory
Untuk melanjutkan unggahan yang terputus:
reput filename.zip
Manipulasi File dengan SFTP #
Biasanya, untuk melakukan tugas di server jauh, Anda akan menghubungkannya melalui SSH dan melakukan pekerjaan Anda menggunakan terminal shell. Namun, dalam beberapa situasi, pengguna mungkin hanya memiliki akses SFTP ke server jauh.
SFTP memungkinkan Anda untuk melakukan beberapa perintah manipulasi file dasar. Berikut adalah beberapa contoh cara menggunakan shell SFTP:
-
Dapatkan informasi tentang penggunaan disk sistem jarak jauh:
df
Size Used Avail (root) %Capacity 20616252 1548776 18002580 19067476 7%
-
Buat direktori baru di server jauh:
mkdir directory_name
-
Ganti nama file di server jauh:
rename file_name new_file_name
-
Menghapus file di server jauh:
rm file_name
-
Menghapus direktori di server jauh:
rmdir directory_name
-
Ubah izin file di sistem jarak jauh:
chmod 644 file_name
-
Ubah pemilik file di sistem jarak jauh:
chown user_id file_name
Anda harus memberikan ID pengguna ke
chown
danchgrp
perintah. -
Ubah pemilik grup file jarak jauh dengan:
chgrp group_id file_name
Setelah Anda selesai dengan pekerjaan Anda, tutup koneksi dengan mengetik bye
atau quit
.
Kesimpulan #
Dalam tutorial ini, kami telah menunjukkan cara menggunakan sftp
perintah untuk mengunduh dan mengunggah file ke server SFTP jarak jauh Anda.
Anda mungkin juga ingin mengatur otentikasi berbasis kunci SSH dan terhubung ke server Linux Anda tanpa memasukkan kata sandi. Jika Anda terhubung secara teratur ke sistem yang sama, Anda dapat menyederhanakan alur kerja Anda dengan mendefinisikan semua koneksi Anda di file konfigurasi SSH.
Jangan ragu untuk meninggalkan komentar jika Anda memiliki pertanyaan atau masukan.