FTP adalah protokol usang yang tidak memiliki langkah-langkah keamanan, sehingga tidak aman untuk digunakan melalui internet. Gunakan hanya untuk transfer file dalam jaringan lokal tepercaya. Saat menggunakan FTP, ketahuilah bahwa kredensial login dan data yang ditransfer dikirimkan dalam bentuk teks yang jelas. Untuk transfer file yang aman melalui internet, gunakan program baris perintah sftp, yang memanfaatkan Protokol Transfer File SSH dan menyediakan enkripsi untuk melindungi informasi sensitif.
Protokol Transfer File lebih tua dari sebagian besar pembaca kami, tetapi masih kuat. FTP tidak memiliki keamanan protokol modern, namun Anda mungkin tetap perlu menggunakannya. Begini cara melakukannya.
Peringatan: Jangan Gunakan FTP Melalui Internet
Mari kita perjelas sejak awal: File Transfer Protocol (FTP) sudah ada sejak awal tahun 1970-an dan ditulis tanpa memperhatikan keamanan. Itu tidak menggunakan enkripsi untuk apa pun. Kredensial login seperti nama pengguna dan kata sandi Anda, serta data yang Anda unduh atau unggah, ditransfer dalam bentuk teks yang jelas. Siapa pun di sepanjang jalan dapat melihat rahasia Anda. Namun, FTP masih memiliki kegunaannya.
Jika Anda mentransfer file dalam jaringan, Anda seharusnya aman — selama tidak ada seorang pun di jaringan yang mengendus paket dan menguping dokumen sensitif apa pun saat Anda mentransfernya. Jika file Anda tidak bersifat rahasia atau sensitif, memindahkannya ke jaringan internal Anda dengan FTP akan baik-baik saja. Linux memiliki program baris perintah ftp standar untuk menangani skenario tersebut dengan tepat. Tapi yang pasti jangan gunakan perintah ftp untuk mengakses sumber daya eksternal di internet. Untuk itu gunakan program baris perintah sftp yang menggunakan Protokol Transfer File SSH yang aman. Kami akan memperkenalkan kedua program ini dalam tutorial ini.
Untuk memperjelas mengapa Anda tidak ingin menggunakan FTP melalui Internet, lihat tangkapan layar di bawah. Ini menunjukkan kata sandi FTP dalam teks biasa. Siapapun di jaringan Anda atau antara Anda dan server FTP di Internet dapat dengan mudah melihat kata sandinya adalah “MySecretPassword.”
Tanpa enkripsi, aktor jahat juga dapat mengubah file yang Anda unduh atau unggah saat transit.
Cara Menggunakan ftp Perintah
Dengan asumsi Anda memiliki akun yang valid di situs FTP, Anda dapat menyambungkannya dengan perintah berikut. Sepanjang artikel ini, gantikan alamat IP dalam perintah dengan alamat IP server FTP yang Anda sambungkan.
ftp 192.168.4.25
Anda sebaiknya hanya menggunakan perintah ftp untuk menyambung ke server di jaringan lokal tepercaya. Gunakan perintah sftp, yang dibahas di bawah, untuk mentransfer file melalui internet.
Server FTP merespons dengan pesan selamat datang. Kata-kata salam akan bervariasi dari satu server ke server lainnya. Ia kemudian menanyakan nama pengguna akun yang Anda masuki.
Perhatikan bahwa alamat IP situs yang Anda sambungkan ditampilkan, diikuti dengan nama pengguna Linux Anda. Jika nama akun Anda di server FTP sama dengan nama pengguna Linux Anda, cukup tekan tombol Enter. Ini akan menggunakan nama pengguna Linux Anda sebagai nama akun di server FTP. Jika nama pengguna Linux Anda dan nama akun FTP Anda berbeda, ketikkan nama pengguna akun FTP lalu tekan Enter.
Masuk ke Server FTP
Anda akan diminta memasukkan kata sandi untuk situs FTP. Masukkan kata sandi Anda dan tekan Enter. Kata sandi Anda tidak ditampilkan di layar. Jika kombinasi nama akun pengguna dan kata sandi FTP Anda diverifikasi oleh server FTP, Anda kemudian masuk ke server FTP.
Anda akan disajikan dengan prompt ftp>.
Melihat-lihat dan Mengambil File
Pertama, Anda mungkin ingin mendapatkan daftar file di server FTP. Perintah ls melakukan hal itu. Pengguna kami melihat file gc.c ada di server FTP, dan dia ingin mendownloadnya ke komputernya sendiri. Komputernya adalah “komputer lokal” dalam bahasa FTP.
Perintah untuk mengambil (atau “mendapatkan”) file adalah dapatkan. Oleh karena itu, pengguna kami mengeluarkan perintah get gc.c. Mereka mengetik dapatkan, spasi, lalu nama file yang ingin mereka ambil.
Server FTP merespons dengan mentransfer file ke komputer lokal dan mengonfirmasi transfer telah dilakukan. Ukuran file dan waktu yang diperlukan untuk mentransfer juga ditampilkan.
ls
get gc.c
Untuk mengambil banyak file sekaligus, gunakan perintah mget (multiple get). Perintah mget akan meminta Anda untuk mengonfirmasi apakah Anda ingin mengunduh setiap file secara bergantian. Tanggapi dengan menekan “y” untuk ya dan “n” untuk tidak.
Ini akan membosankan untuk sejumlah besar file. Oleh karena itu, kumpulan file terkait biasanya disimpan di situs ftp sebagai file tar.gz atau tar.bz2 tunggal.
mget *.c
Mengunggah File ke Server FTP
Tergantung pada izin yang telah diberikan ke akun FTP Anda, Anda mungkin dapat untuk mengunggah (atau “meletakkan”) file ke server. Untuk mengunggah file, gunakan perintah put. Dalam contoh kita, pengguna mengunggah file bernama Songs.tar.gz ke server FTP.
put Songs.tar.gz
Seperti yang mungkin Anda harapkan, ada perintah untuk memasukkan banyak file ke server FTP sekaligus. Ini disebut mput (beberapa put). Sama seperti yang dilakukan perintah mget, mput akan meminta konfirmasi “y” atau “n” untuk mengunggah setiap file, satu per satu.
Argumen yang sama untuk memasukkan kumpulan file ke dalam arsip tar berlaku untuk meletakkan file seperti halnya untuk mendapatkan file. Pengguna kami mengunggah beberapa file “.odt” dengan perintah berikut:
mput *.odt
Membuat dan Mengubah Direktori dengan FTP
Jika akun pengguna Anda di server ftp mengizinkannya, Anda mungkin dapat membuat direktori. Perintah untuk melakukan ini adalah mkdir . Agar jelas, direktori apa pun yang Anda buat dengan perintah mkdir akan dibuat di server ftp dan bukan di komputer lokal Anda.
Untuk mengubah direktori di server ftp, gunakan perintah cd. Saat Anda menggunakan perintah cd, prompt ftp> tidak akan berubah untuk mencerminkan direktori baru Anda saat ini. Perintah pwd (cetak direktori kerja) akan menunjukkan direktori Anda saat ini.
Pengguna ftp kami membuat direktori bernama musik, mengubah ke direktori baru tersebut, mengonfirmasi di mana mereka berada dengan menggunakan perintah pwd lalu mengunggah file ke direktori itu.
mkdir musik
cd musik
pwd
put song.tar.gz
Untuk segera berpindah ke direktori induk dari direktori saat ini gunakan perintah cdup.
cdup
Mengakses Komputer Lokal di dalam FTP
Untuk mengubah direktori di komputer lokal, Anda dapat menggunakan perintah lcd pada prompt ftp>. Namun, mudah untuk kehilangan jejak di mana Anda berada di sistem file lokal. Metode yang lebih mudah untuk mengakses sistem file lokal adalah dengan menggunakan ! perintah.
The ! perintah membuka jendela shell ke komputer lokal. Anda dapat melakukan apa saja di shell ini yang dapat Anda lakukan di jendela terminal standar. Saat Anda mengetik exit, Anda dikembalikan ke prompt ftp>.
Pengguna kami telah menggunakan ! perintah dan memasuki jendela shell di komputer lokal. Mereka telah mengeluarkan perintah ls untuk melihat file apa saja yang ada di direktori itu dan kemudian mengetik exit untuk kembali ke prompt ftp>.
!
ls
exit
Mengganti Nama File dengan FTP
Untuk mengganti nama file di server FTP gunakan perintah rename. Di sini pengguna FTP kita mengganti nama file dengan rename dan kemudian menggunakan perintah ls untuk membuat daftar file di direktori.
rename lagu.tar.gz rock_songs.tar.gz
ls
Menghapus File menggunakan FTP
Untuk menghapus file di server FTP gunakan perintah delete. Untuk menghapus beberapa file sekaligus, gunakan perintah mdelete. Anda akan diminta untuk memberikan konfirmasi “y” atau “n” untuk penghapusan setiap file.
Di sini pengguna FTP kami telah mencantumkan file untuk melihat namanya dan kemudian memilih salah satu untuk dihapus. Mereka kemudian memutuskan untuk menghapus semuanya.
ls
delete gc.o
mdelete *.o
Menggunakan Perintah sftp
Pembaca yang akrab dengan sistem pengalamatan IP akan memperhatikan bahwa alamat 192.168 dari server FTP yang digunakan dalam contoh di atas adalah alamat IP internal, juga disebut a alamat IP pribadi. Seperti yang kami peringatkan di awal artikel ini, perintah ftp hanya boleh digunakan di jaringan internal.
Jika Anda ingin terhubung ke server FTP jarak jauh atau publik, gunakan perintah sftp. Pengguna kami akan terhubung ke akun SFTP yang disebut demo di server FTP yang dapat diakses publik yang terletak di test.trebex.net.
Saat mereka terhubung, mereka diberitahu bahwa koneksi telah dibuat. Mereka juga diberitahu bahwa keaslian host tidak dapat diverifikasi. Ini normal untuk koneksi pertama ke host baru. Mereka menekan “y” untuk menerima koneksi.
Karena nama akun pengguna (demo) diteruskan pada baris perintah, mereka tidak dimintai nama akun pengguna. Mereka hanya dimintai kata sandi. Ini dimasukkan, diverifikasi dan diterima, dan disajikan dengan prompt sftp>.
sftp demo@test.rebex.net
Perintah FTP yang telah kami jelaskan di atas akan bekerja sama dalam sesi SFTP, dengan pengecualian berikut.
Untuk menghapus a file gunakan rm (FTP menggunakan delete) Untuk menghapus banyak file gunakan rm (FTP menggunakan mdelete) Untuk pindah ke direktori induk gunakan cd.. (FTP menggunakan cdup)
Pengguna kami telah menggunakan beberapa perintah dalam sesi SFTP mereka. Mereka menggunakan ls untuk membuat daftar file, dan cd untuk mengubah ke direktori pub. Mereka telah menggunakan pwd untuk mencetak direktori kerja.
Ada opsi lain untuk mentransfer file di dunia Linux, terutama scp (salinan aman), tetapi kami fokus pada FTP dan SFTP di sini. Digunakan dalam skenario yang berlaku, kedua perintah ini akan melayani Anda dan kebutuhan penyimpanan dan pengambilan file Anda dengan baik.
Perintah Linux
Files
tar·pv·cat·tac·chmod·grep·diff·sed·ar·man·pushd·popd·fsck·testdisk·seq ·fd·pandoc·cd·$PATH·awk·join·jq·fold·uniq·journalctl·tail·stat·ls·fstab·echo·less·chgrp·chown·rev·look·strings·type·rename·zip· unzip·mount·umount·install·fdisk·mkfs·rm·rmdir·rsync·df·gpg·vi·nano·mkdir·du·ln·patch·convert·rclone·shred·srm·scp·gzip·chattr·cut· temukan·umask·wc· tr
Proses
alias·layar·atas·bagus·renice·kemajuan·strace·sistemd·tmux·chsh·sejarah·di·batch·gratis·yang·dmesg·chfn·usermod·ps·chroot·xargs·tty· pinky·lsof·vmstat·timeout·wall·yes·kill·sleep·sudo·su·time·groupadd·usermod·groups·lshw·shutdown·reboot·halt·poweroff·passwd·lscpu·crontab·tanggal·bg·fg· pidof·nohup·pmap
Networking
netstat·ping·traceroute·ip·ss·whois·fail2ban·bmon·dig·finger·nmap·ftp·curl·wget·who·whoami·w·iptables·ssh-keygen·ufw·arping·firewalld