Pendahuluan
SFTP (Safe File Transfer Protocol) disertakan bersama dengan SSH sebagai cara aman untuk mentransfer file antar sistem jarak jauh. Ini juga memungkinkan pengguna untuk melakukan tugas administratif dasar di server jarak jauh, seperti mengelola file dan direktori serta mengatur izin file.
Dalam tutorial ini, kami akan menunjukkan cara menggunakan SFTP untuk mentransfer file antara sistem lokal dan sistem jarak jauh menggunakan antarmuka terminal.
Prasyarat
- Akses ke sistem lokal dan server jauh, terhubung menggunakan pasangan kunci publik SSH.
- Koneksi Internet yang berfungsi.
- Akses ke jendela terminal.
Cara Menghubungkan Menggunakan SFTP
SFTP membuat sambungan aman antara sistem dengan menggunakan protokol jaringan SSH. Ini memungkinkan Anda terhubung ke sistem apa pun yang memiliki salinan kunci SSH publik Anda.
Menghubungkan ke sistem lain menggunakan SFTP mengikuti sintaks perintah yang sama seperti menghubungkan menggunakan SSH. Perintah tersebut mengharuskan Anda untuk memberikan nama pengguna dan nama host jarak jauh atau alamat IP untuk sistem yang ingin Anda akses:
sftp [username]@[remote hostname or IP address]
Pada contoh di bawah ini, kita terhubung ke sistem dengan alamat IP 192.168.100.5 menggunakan phoenixnap nama pengguna:
sftp [email protected]
Untuk mengakhiri koneksi saat ini, gunakan:
exit
Cara Mentransfer File Menggunakan SFTP
Menggunakan SFTP memungkinkan Anda mentransfer file dari server jauh ke sistem lokal dan sebaliknya.
Mentransfer File Jarak Jauh ke Sistem Lokal
Gunakan get
perintah di antarmuka SFTP untuk mentransfer file dari server jauh ke sistem lokal Anda:
get [path to file]
Misalnya, untuk mentransfer file bernama example_document.txt dari Rumah sistem jarak jauh direktori ke sistem lokal, gunakan:
get example_document.txt
Secara default, SFTP mentransfer file ke Beranda sistem lokal direktori. Untuk mentransfer file ke direktori lain, tambahkan jalur ke direktori di akhir get
perintah:
get example_document.txt Downloads
Untuk mengubah nama file di sistem lokal, tambahkan nama file baru di akhir get
memerintah.
get example_document.txt sample01.txt
Pada contoh di atas, get
perintah mengambil example_document.txt file dan menyimpannya sebagai sample01.txt pada sistem lokal.
SFTP juga memungkinkan transfer seluruh direktori dari sistem jarak jauh dengan menggunakan -r
flag, menunjukkan transfer rekursif dari semua file dalam direktori:
get -r Example_Directory
Tambahkan -P
tandai ke get
perintah untuk mentransfer file atau direktori sambil mempertahankan izin dan waktu akses:
get -Pr Example_Directory
Gunakan ls
perintah untuk memverifikasi transfer ke sistem lokal:
ls -l
Mentransfer File Lokal ke Server Jarak Jauh
Untuk mentransfer file dari sistem lokal ke server jauh, gunakan put
memerintah. put
perintah menggunakan sintaks dan opsi yang sama dengan get
perintah.
put [path to file]
Misalnya, untuk mentransfer example01.txt file ke server jauh, gunakan:
put example01.txt
Untuk mentransfer file ke direktori tertentu di server jauh, tambahkan jalur ke direktori di akhir put
perintah.
put example01.txt Example_Directory
Menambahkan nama file baru ke akhir put
perintah mengubah nama file yang ditransfer di server jauh.
put example01.txt text_sample.txt
Mentransfer seluruh direktori memerlukan -r
bendera.
put -r Test_Directory
Tambahkan -P
tandai ke put
perintah untuk mempertahankan izin file:
put -Pr Test_Directory
Verifikasi transfer file dengan menggunakan ls
perintah pada sistem jarak jauh:
Pemeliharaan File Menggunakan SFTP
SFTP mendukung pemeliharaan file dasar. Misalnya, gunakan SFTP untuk mengubah izin file dan direktori pada sistem jarak jauh.
chown
perintah mengubah kepemilikan file mirip dengan perintah chmod:
chown [user ID] [path to file]
Berbeda dengan chmod
perintah, chown
menerima ID pengguna saja dan bukan nama pengguna. Menemukan UID untuk server jauh menggunakan antarmuka SFTP mengharuskan Anda untuk mentransfer dan mengakses /etc/passwd berkas:
get /etc/passwd
!less passwd
UID untuk setiap pengguna dapat ditemukan di kolom ketiga, dipisahkan oleh titik dua:
chmod
perintah bekerja sama seperti di shell standar:
chmod [permission] [path to file]
Opsi lainnya adalah mengubah kepemilikan file grup dengan chgrp
perintah:
chgrp [group ID] [path to file]
Sama seperti UID, ID grup ditemukan di kolom ketiga /etc/group file di server jauh:
get /etc/group
!less group
SFTP memungkinkan Anda menyetel umask lokal, yang mengubah izin file default untuk file yang ditransfer ke sistem lokal.
Misalnya:
lumask 022
Perintah di atas mengubah umask lokal menjadi 022 . Setiap file yang ditransfer setelah Anda menyetel umask ini sekarang memiliki 644 izin secara default. Anda masih dapat mempertahankan izin asli dengan menggunakan -p
bendera.
Cara lain untuk mengubah izin file lokal adalah dengan menggunakan SFTP untuk mereplikasi perilaku perintah shell. Untuk melakukannya, tambahkan tanda seru (! ) sebelum nama perintah.
Misalnya, menggunakan chmod
perintah pada sistem lokal:
!chmod [permission] [path to file]