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.