Saya mencoba mengatur FTP di Amazon Cloud Server, tetapi tidak berhasil. Saya mencari di internet dan tidak ada langkah konkret bagaimana melakukannya.
Saya menemukan perintah untuk dijalankan:
$ yum install vsftpd
$ ec2-authorize default -p 20-21
$ ec2-authorize default -p 1024-1048
$ vi /etc/vsftpd/vsftpd.conf
#<em>---Add following lines at the end of file---</em>
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_address=<Public IP of your instance>
$ /etc/init.d/vsftpd restart
Tetapi saya tidak tahu harus menulis di mana.
linux
amazon-web-services
amazon-s3
amazon-ec2
ftp
SharkTheDark
sumber
sumber
Jawaban:
Jaminto melakukan pekerjaan yang baik untuk menjawab pertanyaan itu, tetapi saya baru-baru ini melalui proses sendiri dan ingin memperluas jawaban Jaminto.
Saya berasumsi bahwa Anda telah membuat instance EC2 dan telah mengaitkan Alamat IP Elastis dengannya.
Langkah # 1: Instal vsftpd
SSH ke server EC2 Anda. Tipe:
Ini harus menginstal vsftpd.
Langkah # 2: Buka port FTP pada instance EC2 Anda
Selanjutnya, Anda harus membuka port FTP di server EC2 Anda. Masuk ke Konsol Manajemen AWS EC2 dan pilih Grup Keamanan dari pohon navigasi di sebelah kiri. Pilih grup keamanan yang ditugaskan untuk instance EC2 Anda. Kemudian pilih tab Masuk, lalu klik Edit:
Tambahkan dua Aturan TCP Kustom dengan rentang port 20-21 dan 1024-1048. Untuk Sumber, Anda dapat memilih 'Di Mana Saja'. Jika Anda memutuskan untuk mengatur Sumber ke alamat IP Anda sendiri, ketahuilah bahwa alamat IP Anda mungkin berubah jika sedang ditugaskan melalui DHCP.
Langkah # 3: Buat pembaruan untuk file vsftpd.conf
Edit file conf vsftpd Anda dengan mengetik:
Nonaktifkan FTP anonim dengan mengubah baris ini:
untuk
Kemudian tambahkan baris berikut ke bagian bawah file vsftpd.conf:
File vsftpd.conf Anda akan terlihat seperti berikut - kecuali pastikan untuk mengganti pasv_address dengan alamat IP Anda yang menghadap publik:
Untuk menyimpan perubahan, tekan escape, lalu ketik
:wq
, lalu tekan enter.Langkah # 4: Mulai ulang vsftpd
Mulai ulang vsftpd dengan mengetik:
Anda akan melihat pesan yang terlihat seperti:
Jika ini tidak berhasil, coba:
Langkah # 5: Buat pengguna FTP
Jika Anda mengintip di / etc / vsftpd / user_list, Anda akan melihat yang berikut:
Ini pada dasarnya mengatakan, "Jangan izinkan pengguna ini mengakses FTP." vsftpd akan memungkinkan akses FTP ke pengguna yang tidak ada dalam daftar ini.
Jadi, untuk membuat akun FTP baru, Anda mungkin perlu membuat pengguna baru di server Anda. (Atau, jika Anda sudah memiliki akun pengguna yang tidak terdaftar di / etc / vsftpd / user_list, Anda dapat melompat ke langkah berikutnya.)
Membuat pengguna baru pada instance EC2 cukup sederhana. Misalnya, untuk membuat 'bret' pengguna, ketik:
Ini akan terlihat seperti apa:
Langkah # 6: Membatasi pengguna ke direktori home mereka
Pada titik ini, pengguna FTP Anda tidak terbatas pada direktori home mereka. Itu tidak terlalu aman, tetapi kita dapat memperbaikinya dengan mudah.
Edit file conf vsftpd Anda lagi dengan mengetik:
Tidak berkomentar di luar garis:
Seharusnya terlihat seperti ini setelah Anda selesai:
Mulai ulang server vsftpd lagi seperti ini:
Semua selesai!
Lampiran A: Bertahan dari reboot
vsftpd tidak secara otomatis memulai ketika server Anda melakukan booting. Jika Anda seperti saya, itu berarti bahwa setelah me-reboot instance EC2 Anda, Anda akan merasakan momen teror ketika FTP tampaknya rusak - tetapi pada kenyataannya, itu tidak berjalan !. Berikut cara mudah untuk memperbaikinya:
Atau, jika Anda menggunakan redhat, cara lain untuk mengelola layanan Anda adalah dengan menggunakan antarmuka pengguna grafis yang bagus ini untuk mengontrol layanan mana yang harus dimulai secara otomatis:
Sekarang vsftpd akan secara otomatis memulai ketika server Anda melakukan boot up.
Lampiran B: Mengubah direktori home FTP pengguna
* CATATAN: Iman Sedighi telah memposting solusi yang lebih elegan untuk membatasi akses pengguna ke direktori tertentu. Silakan lihat solusi luar biasa yang diposting sebagai jawaban *
Anda mungkin ingin membuat pengguna dan membatasi akses FTP mereka ke folder tertentu, seperti / var / www. Untuk melakukan ini, Anda harus mengubah direktori home default pengguna:
Dalam contoh khusus ini, biasanya memberikan izin pengguna ke grup 'www', yang sering dikaitkan dengan folder / var / www:
sumber
step 3
setelah menambahkan baris dalam file, bagaimana saya bisa menyimpannya?Untuk mengaktifkan ftp pasif pada server EC2, Anda perlu mengonfigurasikan port yang harus digunakan server ftp Anda untuk koneksi inbound, lalu buka daftar port yang tersedia untuk koneksi data klien ftp.
Saya tidak begitu mengenal linux, tetapi perintah yang Anda posting adalah langkah-langkah untuk menginstal server ftp, mengkonfigurasi aturan firewall EC2 (melalui AWS API), kemudian mengkonfigurasi server ftp untuk menggunakan port yang Anda izinkan pada firewall EC2 .
Jadi langkah ini menginstal klien ftp (VSFTP)
> yum install vsftpd
Langkah-langkah ini mengkonfigurasi klien ftp
tetapi dua langkah lainnya lebih mudah dilakukan melalui konsol amazon di bawah kelompok Keamanan EC2. Di sana Anda perlu mengkonfigurasi grup keamanan yang ditugaskan ke server Anda untuk memungkinkan koneksi pada port 20,21, dan 1024-1048
sumber
Terima kasih @ clone45 untuk solusi yang bagus. Tapi saya punya satu masalah penting dengan Lampiran b dari solusinya. Segera setelah saya mengubah direktori home ke var / www / html maka saya tidak dapat terhubung ke server melalui ssh dan sftp karena selalu menunjukkan kesalahan berikut
atau di FileZilla saya menerima kesalahan ini:
Tapi saya bisa mengakses server melalui koneksi FTP normal.
Jika Anda mengalami kesalahan yang sama maka batalkan saja appendix b dari solusi @ clone45 dengan menetapkan direktori home default untuk pengguna:
Tetapi ketika Anda mengatur direktori home default pengguna maka pengguna memiliki akses ke banyak folder lain di luar / var / www / http. Jadi untuk mengamankan server Anda maka ikuti langkah-langkah ini:
1- Buat grup sftponly Buat grup untuk semua pengguna yang ingin Anda batasi hanya akses ftp dan sftp ke var / www / html. untuk membuat grup:
2- Memenjara chroot Untuk membatasi akses grup ini ke server melalui sftp Anda harus memenjarakan chroot untuk tidak membiarkan pengguna grup mengakses folder apa pun kecuali folder html di dalam direktori home. untuk melakukan ini buka /etc/ssh/sshd.config di vim dengan sudo. Di akhir file, silakan komentari baris ini:
Dan kemudian tambahkan baris ini di bawah ini:
Jadi kami mengganti subsistem dengan internal-sftp. Kemudian tambahkan baris berikut di bawahnya:
Setelah menambahkan baris ini saya menyimpan perubahan saya dan memulai kembali layanan ssh dengan:
3 - Tambahkan pengguna ke grup sftponly Setiap pengguna yang Anda ingin membatasi akses mereka harus menjadi anggota grup sftponly. Oleh karena itu kami bergabung dengan sftponly dengan: sudo usermod -G sftponly username
4 - Batasi akses pengguna ke hanya var / www / html Untuk membatasi akses pengguna ke folder hanya var / www / html kita perlu membuat direktori di direktori home (dengan nama 'html') dari pengguna itu dan kemudian mount / var / www ke / home / nama pengguna / html sebagai berikut:
5- Tetapkan akses tulis Jika pengguna perlu akses tulis ke / var / www / html, maka Anda harus memenjarakan pengguna di / var / www yang harus memiliki root: kepemilikan root dan izin 755. Anda kemudian perlu memberikan / var / Kepemilikan www / html root: sftponly dan izin 775 dengan menambahkan baris berikut:
6- Blok akses shell Jika Anda ingin membatasi akses untuk tidak mengakses shell untuk membuatnya lebih aman maka cukup ubah shell default ke bin / false sebagai berikut:
sumber
sudo mount --bind /var/www /home/username/html
saya diberitahu tidak ada folder www. Saya menganggap ini dilakukan dari root (di mana folder / home)?sudo chown root:www /var/www/html
menyatakan chown: grup tidak valid: 'root: www'sudo usermod -s /sbin/nologin username
dari pembatasan shell modul pam vsftpd (dan tampaknya bekerja lebih baik dalam kasus saya). Dan bagian 4mount
perlu dilakukan pada setiap reboot, jadi ide yang bagus untuk meletakkannya di rc.local.Artikel Hebat ... bekerja sangat mudah di Amazon Linux AMI.
Dua perintah lebih berguna:
Untuk mengubah folder unggahan FTP default
Langkah 1:
Langkah 2: Buat entri baru di bagian bawah halaman:
Untuk menerapkan baca, tulis, hapus izin ke file di bawah folder sehingga Anda dapat mengelola menggunakan perangkat FTP
sumber
Jika Anda mengaktifkan ufw, ingat tambahkan ftp:
Butuh waktu 2 hari untuk menyadari bahwa saya mengaktifkan ufw.
sumber
Tidak akan apa-apa sampai Anda menambahkan pengguna Anda ke grup www dengan perintah berikut:
Ini menyelesaikan masalah izin.
Tetapkan jalur default dengan menambahkan ini:
sumber
Jangan lupa untuk memperbarui firewall iptables Anda jika ada yang memungkinkan rentang 20-21 dan 1024-1048.
Lakukan ini dari / etc / sysconfig / iptables
Menambahkan baris seperti ini:
Dan restart iptables dengan perintah:
sumber
Saya telah menyederhanakan langkah-langkah clone45:
Buka porta seperti yang dia sebutkan
sumber
Saya mengikuti jawaban clone45 sampai akhir. Artikel yang bagus! Karena saya memerlukan akses FTP untuk menginstal plug-in ke salah satu situs wordpress saya, saya mengubah direktori home ke / var / www / mysitename. Lalu saya terus menambahkan pengguna ftp saya ke grup apache (atau www) seperti ini:
Setelah ini, saya masih melihat kesalahan ini pada halaman instalasi plugin WP: "Tidak dapat menemukan direktori Konten WordPress (wp-content)". Mencari dan menemukan solusi ini pada sesi tanya jawab wp.org: https://wordpress.org/support/topic/unable-to-locate-wordpress-content-directory-wp-content dan menambahkan yang berikut ke akhir wp- config.php:
Setelah ini plugin WP saya berhasil diinstal.
sumber
mungkin layak disebut selain jawaban clone45 :
Catatan: Masalah dengan izin menulis mungkin muncul sebagai kesalahan FileZilla berikut :
Referensi:
Memperbaiki Izin Menulis untuk Pengguna FTP yang Chroot di vsftpd
VSFTPd berhenti bekerja setelah pembaruan
sumber
Jika Anda salah 530 kata sandi
1 langkah lagi dibutuhkan
dalam file / etc / shells
Tambahkan baris berikut
/ bin / false
sumber
FileZila adalah alat FTP yang baik untuk melakukan setup dengan Amazon Cloud.
Anda perlu melakukan langkah ini hanya 1 kali, nanti akan mengunggah konten ke alamat IP yang sama dan situs yang sama.
sumber