GNU/Linux >> Belajar Linux >  >> Linux

Batasi Jumlah Login SSH Per Pengguna/Grup/Sistem

Seperti yang mungkin Anda ketahui, kami dapat melakukan SSH ke sistem Linux jarak jauh oleh pengguna yang sama beberapa kali. Tidak ada batasan! Anda cukup membuka beberapa jendela Terminal (atau beberapa tab di Terminal) dan memulai beberapa sesi SSH dari setiap tab dengan akun pengguna yang sama. Bagaimana jika Anda ingin mengubah perilaku ini? Misalnya, Anda mungkin ingin mengizinkan hanya satu sesi SSH aktif untuk seorang pengguna. Itulah yang akan kita lihat sekarang. Tutorial singkat ini menjelaskan cara membatasi jumlah login SSH per pengguna atau grup atau sistem di Linux.

Di sebagian besar distribusi Linux, ada file bernama limits.conf di mana Anda dapat menentukan jumlah maksimum sesi SSH bersamaan untuk pengguna atau grup pengguna. Jika pengguna tertentu mencoba SSH ke dalam sistem lebih dari login SSH yang diizinkan, aksesnya akan ditolak.

Batasi Jumlah Login SSH Per Pengguna Atau Grup Di Linux

limits.conf file biasanya terletak di bawah /etc/security/ direktori pada sistem berbasis RPM dan DEB.

Buka sistem jarak jauh Anda dan edit /etc/security/limits.conf file dengan sudo atau akar pengguna:

$ sudo nano /etc/security/limits.conf

Untuk membatasi jumlah sesi SSH bersamaan untuk pengguna tertentu , misalnya ostechnix , Tambahkan baris berikut di akhir:

ostechnix	hard	maxlogins	1

Di sini,

  • osteenik - Nama pengguna di server CentOS 8 saya.
  • maxlogin 1 - Jumlah maksimum login untuk pengguna ini. Dalam kasus saya ini adalah 1 . Anda dapat meningkatkan nilai ini untuk mengizinkan maksimum no. sesi SSH aktif per pengguna.
  • keras - Menegakkan batasan tegas.

Jika Anda ingin membatasi jumlah koneksi SSH untuk grup pengguna , tambahkan ini:

@mygroup	hard    maxlogins	1

Ganti @grupku dengan nama grup Anda. Dalam skenario ini, semua pengguna di grup saya tidak dapat masuk melalui SSH lebih dari satu kali.

Jika Anda ingin membatasi sesi SSH dari semua pengguna (global) dalam sistem, tambahkan baris ini sebagai gantinya:

*	hard    maxlogins	1

Di sini, tanda bintang berarti global (yaitu semua pengguna dalam sistem). Setelah Anda menentukan jumlah maksimum sesi SSH per pengguna/grup atau seluruh sistem, simpan dan tutup file.

Sekarang coba SSH ke sistem dengan pengguna yang sama lebih dari satu kali. Anda akan melihat pesan kesalahan seperti di bawah ini.

Too many logins for 'ostechnix'.
Last login: Tue Feb 18 17:12:09 2020 from 192.168.225.37
Connection to 192.168.225.52 closed.

Seperti yang Anda lihat pada output di atas;

  1. Pertama, saya SSH ke server CentOS 8 jarak jauh sebagai pengguna root melalui SSH dan koneksi berhasil dibuat.
  2. Kemudian, saya membuka tab baru dan SSH ke server yang sama dengan pengguna biasa "ostechnix" dan koneksi berhasil.
  3. Akhirnya, saya mencoba SSH ke server yang sama dengan pengguna yang sama (yaitu ostechnix) dan kali ini koneksi ditolak. Pengguna "ostechnix" tidak dapat melakukan SSH ke sistem lebih dari sekali . Karena jumlah maksimum sesi SSH yang diizinkan untuk pengguna ini hanya satu waktu. Oleh karena itu, koneksi SSH ditolak untuk pengguna ini.

Dalam contoh ini, kami membatasi jumlah total sesi SSH aktif untuk pengguna atau grup atau semua pengguna dalam sistem. Dimungkinkan juga untuk membatasi sesi SSH per basis sistem. Misalnya - kami hanya dapat mengizinkan satu login SSH dari suatu sistem, bukan per pengguna atau grup.

Batasi jumlah total sesi SSH Per Sistem

Untuk membatasi jumlah total koneksi SSH aktif per sistem, tambahkan baris berikut di /etc/security/limits.conf berkas:

*       hard    maxsyslogins    1

Di sini, maxsyslogin mengacu pada jumlah maksimum login pada sistem, bukan per pengguna atau per grup.

Cobalah untuk memasukkan SSH ke dalam sistem dan Anda tidak dapat mengakses sistem lebih dari jumlah maksimum login yang diizinkan pada sistem.

Lihat? Pengguna "ostechnix" bahkan tidak bisa SSH untuk pertama kalinya. Sebab, jumlah login SSH yang diperbolehkan hanya satu untuk sistem. Kali ini koneksi SSH yang dilakukan oleh user root juga sudah diperhitungkan. Jadi jumlah maksimum login SSH telah melewati batas yang ditentukan dan akses pengguna "ostechnix" ditolak. Semoga Anda mengerti.

Harap dicatat bahwa pembatasan ini hanya berlaku untuk pengguna biasa. Pengguna root masih dapat login melalui SSH beberapa kali.

Bacaan terkait:

  • Izinkan atau Tolak Akses SSH ke Pengguna atau Grup Tertentu di Linux
  • Batasi Akses ke Server Linux Menggunakan Pembungkus TCP
  • Jalankan Perintah Pada Sistem Linux Jarak Jauh Melalui SSH
  • Cara Membuat Alias ​​​​SSH Di Linux
  • Cara SSH Ke Direktori Tertentu Di Linux

Linux
  1. Kiat cepat:Tambahkan pengguna ke grup sudoers

  2. Batas Praktis Jumlah Snapshot Btrfs?

  3. Apa Perbedaan Antara Pengguna Biasa dan Pengguna Sistem?

  1. Ubah nomor port server SSH default

  2. Bagaimana cara melihat proses yang berjalan dari setiap pengguna di SSH?

  3. Ubah Port SSH di sistem operasi Linux Ubuntu

  1. Apa tujuan dari "pengguna sistem" di Replikasi MySQL?

  2. Bagaimana cara membuat ssh masuk sebagai pengguna yang tepat?

  3. Bagaimana cara mengetahui jumlah core suatu sistem di Linux?