GNU/Linux >> Belajar Linux >  >> Linux

CentOS / RHEL :Cara menonaktifkan ssh untuk pengguna non-root (mengizinkan ssh hanya untuk pengguna root)

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 root
Catatan :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/nologin
Catatan :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.so
Note: 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.10

Metode 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 
root

2. 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=fail

Di 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 ~]#


Linux
  1. CentOS / RHEL 7 :Cara menonaktifkan IPv6 hanya pada antarmuka tertentu

  2. Bagaimana menjalankan rsyslog sebagai pengguna non-root di CentOS/RHEL 7

  3. CentOS / RHEL :Cara Mengecilkan Sistem File Root LVM

  1. CentOS / RHEL 6:Cara Menonaktifkan / Mengaktifkan login root langsung melalui telnet

  2. CentOS / RHEL :Cara Menonaktifkan / Mengaktifkan login ssh pengguna root dan non-root langsung

  3. CentOS / RHEL :Cara menonaktifkan login root atau akses root pada sistem

  1. Cara menonaktifkan login jarak jauh untuk pengguna root di mesin Linux

  2. CentOS / RHEL :Cara mengatur chroot jail untuk vsftp hanya untuk pengguna tertentu

  3. Cara Mengatur kunci SSH untuk Login SSH “tanpa kata sandi” di CentOS/RHEL