Secara default, semua pengguna dapat SSH ke dalam sistem dengan kata sandi/kunci publik yang valid. Untuk dedicated Server tertentu dengan peran tertentu, seperti FTP Server, E-mail Server, dll; menonaktifkan pengguna non-root untuk masuk melalui SSH biasanya disarankan. Posting tersebut merinci langkah-langkah untuk menonaktifkan akses login ssh pengguna non-root ke sistem. Ada 3 cara berbeda yang dibahas di sini. Salah satu dari tiga cara di bawah ini dapat mencapai tujuan.
Metode 1 – menggunakan file /etc/ssh/sshd_config
Metode ini dapat digunakan untuk memungkinkan beberapa pengguna untuk login SSH. Edit file /etc/ssh/sshd_config (File konfigurasi daemon OpenSSH SSH) dan tambahkan kata kunci AllowUsers dengan argumen root .
# vi /etc/ssh/sshd_config AllowUsers rootCatatan :kata kunci peka huruf besar/kecil dan argumen juga peka huruf besar/kecil.
Sekarang restart layanan sshd:
# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]
Verifikasi bahwa pengguna non-root tidak dapat masuk melalui SSH tetapi pengguna root dapat.
# ssh test@host1 test@host1's password: Permission denied, please try again. test@host1's password: Permission denied, please try again. test@host1's password: Permission denied (publickey,gssapi-with-mic,password).# ssh root@host1 root@host1's password: Last login: Wed Sep 13 10:47:14 2017 from 10.10.10.10 [root@host1 ~]#Metode 2 - menggunakan file /etc/nologin
Ini adalah cara tercepat untuk memblokir semua pengguna non-root dari login SSH.
1. Buat file /etc/nologin pada host jarak jauh.
# touch /etc/nologin # ls -lrt /etc/nologin -rw-r--r-- 1 root root 0 Sep 13 13:23 /etc/nologinCatatan :Jika file ini ada, hanya pengguna root yang diizinkan masuk ke sistem melalui SSH. Jika file /etc/nologin.txt ada, nologin menampilkan isinya kepada pengguna alih-alih pesan default.Pastikan baris di bawah ini ada di file /etc/pam.d/sshd :
account required pam_nologin.soNote: backup the file /etc/pam.d/sshd before modifying it.Kemudian restart layanan sshd:
# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]Verifikasi login SSH pengguna non-root:
# ssh test@host1 test@host1's password: Connection closed by 192.168.10.10Metode 3 - menggunakan file /etc/sshd/sshd.allow
File /etc/sshd/sshd.allow digunakan untuk menentukan daftar pengguna yang ingin kami beri akses ssh. Jika kita hanya menyebutkan root pengguna dalam file ini, semua pengguna lain akan ditolak akses ssh ke host.
1. Tambahkan pengguna root ke file /etc/sshd/sshd.allow (jika direktori/file tidak ada, buat secara manual).
# cat /etc/sshd/sshd.allow root2. Ganti baris auth seperti di bawah ini pada file /etc/pam.d/sshd :
auth required pam_listfile.so item=user sense=allow file=/etc/sshd/sshd.allow onerr=failDi sini,
auth diperlukan pam_listfile.so :Nama modul yang diperlukan saat mengautentikasi pengguna.
item=user :Periksa nama pengguna item.
sense=allow :Izinkan pengguna.
file=/etc/sshd/sshd.allow :File daftar pengguna.
onerr=fail :Jika nama pengguna tidak ada dalam file, itu tidak akan memungkinkan untuk masuk.3. Mulai ulang layanan sshd setelah Anda selesai dengan semua perubahan di atas.
# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]4. Verifikasi login SSH pengguna non-root:
# ssh test@host1 test@host1's password: Permission denied, please try again. test@host1's password: Permission denied, please try again. test@host1's password: Permission denied (publickey,gssapi-with-mic,password).Juga verifikasi apakah Anda dapat ssh dengan pengguna root:
# ssh root@host1 ssh root@host1's password: Last login: Wed Sep 13 14:53:47 2017 from 10.10.10.10 [root@host1 ~]#
CentOS / RHEL :Cara mengkonfigurasi vsftpd untuk menggunakan port selain port default 20 dan 21 Cara memblokir pengguna non-root dari membuat entri crontab di LinuxLinux