How To Configure Sftp With Chroot On CentOS 7
Daftar Isi:
- Membuat Grup SFTP
- Menambahkan Pengguna ke Grup SFTP
- Mengkonfigurasi SSH
- Menguji Konfigurasi
- Kesimpulan
Dalam tutorial ini, kami akan menjelaskan cara menyiapkan lingkungan SFTP Chroot Jail yang akan membatasi pengguna ke direktori home mereka. Pengguna hanya akan memiliki akses SFTP, akses SSH akan dinonaktifkan. Instruksi ini harus bekerja untuk distribusi Linux modern termasuk Ubuntu, CentOS, Debian, dan Fedora.
Membuat Grup SFTP
Alih-alih mengonfigurasi server OpenSSH untuk setiap pengguna secara individual, kami akan membuat grup baru dan menambahkan semua pengguna chroot kami ke grup ini.
Jalankan perintah
groupadd
berikut untuk membuat grup pengguna
sftponly
:
sudo groupadd sftponly
Anda dapat memberi nama grup seperti yang Anda inginkan.
Menambahkan Pengguna ke Grup SFTP
Langkah selanjutnya adalah menambahkan pengguna yang ingin Anda batasi ke grup
sftponly
.
Jika ini adalah pengaturan baru dan pengguna tidak ada, Anda dapat membuat akun pengguna baru dengan mengetik:
sudo useradd -g sftponly -s /bin/false -m -d /home/username username
- Opsi
-g sftponly
akan menambahkan pengguna ke grup sftponly. Opsi-s /bin/false
menetapkan shell login pengguna. Dengan mengatur shell login ke/bin/false
pengguna tidak akan dapat login ke server melalui SSH. Opsi-m -d /home/username
memberitahu useradd untuk membuat direktori home user.
Tetapkan kata sandi yang kuat untuk pengguna yang baru dibuat:
sudo passwd username
Kalau tidak, jika pengguna yang ingin Anda batasi sudah ada, tambahkan pengguna ke grup
sftponly
dan ubah shell pengguna:
sudo usermod -G sftponly -s /bin/false username2
Direktori home user harus dimiliki oleh root dan memiliki
755
izin:
sudo chown root: /home/username
sudo chmod 755 /home/username
Karena direktori home pengguna dimiliki oleh pengguna root, pengguna ini tidak akan dapat membuat file dan direktori di direktori home mereka. Jika tidak ada direktori di rumah pengguna, Anda harus membuat direktori baru di mana pengguna akan memiliki akses penuh. Misalnya, Anda dapat membuat direktori berikut:
sudo mkdir /home/username/{public_html, uploads}
sudo chmod 755 /home/username/{public_html, uploads}
sudo chown username:sftponly /home/username/{public_html, uploads}
Jika aplikasi web menggunakan direktori
public_html
pengguna sebagai root dokumen, perubahan ini dapat menyebabkan masalah izin. Sebagai contoh, jika Anda menjalankan WordPress Anda harus membuat kumpulan PHP yang akan berjalan sebagai pengguna yang memiliki file dan menambahkan
sftponly
web ke grup
sftponly
.
Mengkonfigurasi SSH
SFTP adalah subsistem SSH dan mendukung semua mekanisme otentikasi SSH.
Buka file konfigurasi SSH
/etc/ssh/sshd_config
dengan editor teks Anda:
sudo nano /etc/ssh/sshd_config
Cari baris yang dimulai dengan
Subsystem sftp
, biasanya di akhir file. Jika baris dimulai dengan hash
#
hapus hash
#
dan modifikasi agar terlihat seperti berikut:
Subsystem sftp internal-sftp
Menjelang akhir file, blok pengaturan berikut:
Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
Arahan
ChrootDirectory
menentukan jalur ke direktori chroot.
%h
berarti direktori home user. Direktori ini, harus dimiliki oleh pengguna root dan tidak dapat ditulisi oleh pengguna atau grup lain.
Berhati-hatilah saat memodifikasi file konfigurasi SSH. Konfigurasi yang salah dapat menyebabkan layanan SSH gagal untuk memulai.
Setelah selesai simpan file dan mulai ulang layanan SSH untuk menerapkan perubahan:
sudo systemctl restart ssh
Di CentOS dan Fedora, layanan ssh bernama
sshd
:
Menguji Konfigurasi
Sekarang Anda telah mengkonfigurasi chroot SFTP Anda dapat mencoba masuk ke mesin jarak jauh melalui SFTP menggunakan kredensial pengguna chroot. Dalam kebanyakan kasus, Anda akan menggunakan klien SFTP desktop seperti FileZilla tetapi dalam contoh ini, kami akan menggunakan perintah sftp.
Buka koneksi SFTP menggunakan perintah sftp diikuti oleh nama pengguna server jarak jauh dan alamat IP server atau nama domain:
sftp [email protected]
Anda akan diminta memasukkan kata sandi pengguna. Setelah terhubung, server jarak jauh akan menampilkan pesan konfirmasi dan permintaan
sftp>
:
[email protected]'s password: sftp>
Jalankan perintah
pwd
, seperti yang ditunjukkan di bawah ini, dan jika semuanya berfungsi seperti yang diharapkan, perintah akan kembali
/
.
sftp> pwd Remote working directory: /
Anda juga dapat membuat daftar file dan direktori jarak jauh menggunakan perintah
ls
dan Anda akan melihat direktori yang telah kita buat sebelumnya:
Kesimpulan
Dalam tutorial ini, Anda telah belajar cara mengatur lingkungan SFTP Chroot Jail di server Linux Anda dan membatasi akses pengguna ke direktori home mereka.
Secara default, SSH mendengarkan pada port 22. Mengubah port SSH default menambah lapisan keamanan tambahan ke server Anda dengan mengurangi risiko serangan otomatis. Anda mungkin juga ingin mengatur otentikasi berbasis kunci SSH dan terhubung ke server tanpa memasukkan kata sandi.
ssh sftp keamananCara Mengatur Halaman Bisnis Pinterest

Sudahkah Anda beralih ke Halaman Bisnis Pinterest yang baru? Berikut ini cara melakukannya, ditambah detail tentang fitur eksklusif lainnya.
Cara menggunakan, mengatur & mengatur ulang Akselerator Internet Explorer

Untuk menggunakan Akselerator IE, pilih teks yang Anda inginkan menggunakan akselerator. Klik tombol panah biru Accelerator yang muncul.
Cara menggunakan perintah linux sftp untuk mentransfer file

SFTP (SSH File Transfer Protocol) adalah protokol file aman yang digunakan untuk mengakses, mengelola, dan mentransfer file melalui transport SSH terenkripsi. Dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana menggunakan perintah `sftp` Linux.