Solusi 1:
Perintah yang harus Anda gunakan untuk mengubah shell adalah chsh . Shell nologin dapat berupa /sbin/nologin
atau /usr/sbin/nologin
(periksa mana yang Anda miliki dengan melihat /etc/shells
) tetapi /bin/false
mungkin akan menjadi pilihan yang lebih baik.
chsh -s /bin/false user
Anda harus mempertimbangkan menyiapkan sesuatu seperti scponly yang akan melakukan apa yang Anda inginkan.
Solusi 2:
Anda juga harus dapat melakukannya dengan OpenSSH 4.9 dan yang lebih baru, yang dengannya Anda juga dapat melakukan chroot pengguna untuk meningkatkan keamanan.
Di /etc/ssh/sshd_config
Anda :
Match User user
ChrootDirectory /home/user
ForceCommand internal-sftp
AllowTcpForwarding no
Kemudian jalankan:
chsh -s /bin/false user
chown root:root /home/user
mkdir /home/user/uploads
chown user /home/user/uploads
Pengguna hanya dapat menulis di /home/user/uploads.
https://debian-administration.org/article/590/OpenSSH_SFTP_chroot_with_ChrootDirectory
Solusi 3:
Saya pikir cara terbaik adalah dengan mysecureshell
http://mysecureshell.sourceforge.net/en/index.html
Anda dapat melakukan chroot pengguna dengan ini dengan mudah dan bahkan membatasi bandwidth jika diperlukan.