GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengetahui Jika Seorang Pengguna Menggunakan Otentikasi SSH Berbasis Kata Sandi Atau Berbasis Kunci Di Linux

Bayangkan skenario ini. Anda baru saja mengonfigurasi otentikasi berbasis kunci SSH di server Linux Anda. Dan kemudian, Anda memutuskan untuk menonaktifkan otentikasi berbasis kata sandi sepenuhnya dan hanya mengizinkan otentikasi berbasis kunci untuk semua pengguna. Sebelum menonaktifkan otentikasi kata sandi, Anda ingin memverifikasi pengguna mana yang masih menggunakan kata sandi untuk mengakses server melalui SSH. Bagaimana cara melakukannya? Yah, itu mungkin! Panduan singkat ini menjelaskan cara mengetahui apakah pengguna menggunakan otentikasi SSH berbasis kata sandi atau berbasis kunci di Linux.

Temukan apakah pengguna menggunakan otentikasi SSH berbasis kata sandi atau kunci

Kami dapat mengidentifikasi apakah pengguna masuk ke server Linux melalui SSH menggunakan kata sandi atau kunci ssh. Ini bukan cara yang 100% dapat diandalkan dan dijamin, tetapi masih merupakan pendekatan yang baik.

Pertama, periksa apakah ~/.ssh/authorized_keys file ada. Karena, dalam metode otentikasi berbasis kunci SSH, kunci publik SSH harus diunggah ke sistem yang ingin Anda akses melalui SSH. Kunci publik biasanya akan disimpan dalam file bernama ~/.ssh/authorized_keys dalam sistem jarak jauh. Jika file ini ada, kemungkinan pengguna menggunakan otentikasi berbasis Kunci.

Selanjutnya, periksa file log otentikasi untuk memverifikasi metode otentikasi mana yang sedang digunakan pengguna untuk mengakses sistem jarak jauh. Metode autentikasi dicatat di "/var/log/secure" file pada sistem berbasis RPM (Misalnya CentOS), "/var/log/auth.log" file pada sistem berbasis DEB (Misalnya Ubuntu).

Cukup cari entri kata sandi di file log otentikasi menggunakan perintah grep atau cara lain yang Anda inginkan.

$ grep 'password' /var/log/secure

Atau,

$ grep 'password' /var/log/auth.log

Contoh keluaran:

[...]
May  8 10:40:36 ostechnix sshd[3303]: Accepted password for senthil from 192.168.225.37 port 41990 ssh2
May  8 10:40:56 ostechnix sshd[3405]: Accepted password for sk from 192.168.225.37 port 41992 ssh2

Apakah Anda memperhatikan baris "Kata sandi yang diterima untuk ..." pada keluaran di atas? Ini berarti bahwa pengguna sedang mengakses sistem jarak jauh menggunakan kata sandi. Sesuai output di atas, pengguna "senthil" dan "sk" sedang mengakses sistem jarak jauh menggunakan otentikasi kata sandi ssh.

Jika pengguna menggunakan otentikasi berbasis kunci, Anda mungkin akan melihat output seperti di bawah ini:

May 8 10:40:56 ostechnix sshd[3405]: Accepted publickey for sk from 192.168.225.37 port 41992 ssh2

Tentu saja agak sulit jika file log sangat panjang dengan jumlah entri yang banyak. Dalam hal ini, gunakan "tail" perintah untuk melihat sejumlah file log tertentu.

Misalnya, perintah berikut hanya akan menampilkan 10 entri terakhir dari file log:

$ grep 'password' /var/log/auth.log | tail -n 10

Contoh keluaran:

May  8 10:21:49 ostechnix sshd[2135]: Accepted password for senthil from 192.168.225.37 port 41920 ssh2
May  8 10:21:57 ostechnix sshd[2222]: Accepted password for sk from 192.168.225.37 port 41922 ssh2
May  8 10:24:57 ostechnix sshd[2360]: Accepted password for senthil from 192.168.225.37 port 41924 ssh2
May  8 10:25:04 ostechnix sshd[2448]: Accepted password for sk from 192.168.225.37 port 41926 ssh2
May  8 10:29:40 ostechnix sshd[2663]: Accepted password for senthil from 192.168.225.37 port 41938 ssh2
May  8 10:29:55 ostechnix sshd[2765]: Accepted password for sk from 192.168.225.37 port 41940 ssh2
May  8 10:39:34 ostechnix sshd[3064]: Accepted password for senthil from 192.168.225.37 port 41986 ssh2
May  8 10:39:55 ostechnix sshd[3184]: Accepted password for sk from 192.168.225.37 port 41988 ssh2
May  8 10:40:36 ostechnix sshd[3303]: Accepted password for senthil from 192.168.225.37 port 41990 ssh2
May  8 10:40:56 ostechnix sshd[3405]: Accepted password for sk from 192.168.225.37 port 41992 ssh2

Anda juga dapat menggunakan -f tandai untuk mengikuti log saat Anda menguji.

$ grep 'password' /var/log/auth.log | tail -f -n 10

Jika Anda ingin memeriksa seluruh file log untuk menemukan "sandi" entri halaman demi halaman, gunakan "less" perintah:

$ grep 'password' /var/log/auth.log | less

Untuk menemukan semua log yang terkait dengan sshd (upaya berhasil atau gagal), ganti "kata sandi" dengan "sshd" di semua perintah di atas.

$ grep 'sshd' /var/log/auth.log | tail -n 10

Panduan terkait SSH lainnya:

  • Izinkan atau Tolak Akses SSH ke Pengguna atau Grup Tertentu di Linux
  • Batasi Jumlah Login SSH Per Pengguna/Grup/Sistem
  • 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
  • SSLH – Bagikan Port yang Sama Untuk HTTPS Dan SSH
  • ScanSSH – Server SSH Cepat Dan Pemindai Proxy Terbuka
  • Cara Melanjutkan File yang Ditransfer Sebagian Melalui SSH Menggunakan Rsync
  • Cara Menjalankan Perintah Tunggal Pada Beberapa Sistem Jarak Jauh Sekaligus
  • DSH – Jalankan Perintah Linux Pada Banyak Host Sekaligus
  • Cara Menghentikan Sesi SSH Dari Putusnya Sambungan Di Linux
  • Cara Mengaktifkan SSH Di FreeBSD

Semoga membantu.


Linux
  1. Cara Menemukan Koneksi SSH Aktif di Linux

  2. Cara Mengubah, Menghapus, atau Menonaktifkan Kata Sandi Pengguna di Linux

  3. Cara Menemukan Semua Pengguna Sudo Di Linux

  1. Cara Mengonfigurasi Otentikasi Berbasis Kunci SSH Di Linux

  2. Cara membuat Pengguna Linux Menggunakan Ansible

  3. Bagaimana cara mereset kata sandi Admin Plesk menggunakan SSH di Server Linux?

  1. Cara Mengubah Kata Sandi di Linux – Panduan Langkah demi Langkah

  2. Cara Menonaktifkan Otentikasi Kata Sandi SSH di VPS Linux

  3. Cara mengetahui penggunaan memori pengguna di linux