Terdapat beberapa cara untuk masuk ke pelayan melalui SSH. Kaedah termasuk log masuk kata laluan, log masuk berasaskan kunci, dan pengesahan dua faktor.
Pengesahan dua faktor adalah jenis perlindungan yang jauh lebih baik. Sekiranya komputer anda terganggu, penyerang masih memerlukan kod akses untuk log masuk.
Dalam tutorial ini, anda akan belajar bagaimana mengatur pengesahan dua faktor pada pelayan Ubuntu menggunakan Google Authenticator dan SSH.
Langkah 1: Prasyarat
- Pelayan Ubuntu 14.04 (atau lebih baru).
- Pengguna bukan root dengan akses sudo.
- Telefon pintar (Android atau iOS) dengan Aplikasi Google Authenticator dipasang. Anda juga boleh menggunakan Authy atau aplikasi lain yang menyokong log masuk berasaskan TOTP.
Langkah 2: Memasang Perpustakaan Google Authenticator
Kita perlu memasang modul Google Authenticator Library yang tersedia untuk Ubuntu yang membolehkan pelayan membaca dan mengesahkan kod. Jalankan arahan berikut.
sudo apt-get update
sudo apt-get install libpam-google-authenticator
Untuk mengkonfigurasi modul, jalankan arahan berikut.
google-authenticator
Setelah anda menjalankan perintah, anda akan ditanya soalan-soalan tertentu. Soalan pertama ialah:
Do you want authentication tokens to be time-based (y/n)
Tekan y
dan anda akan mendapat kod QR, kunci rahsia, kod pengesahan, dan kod sandaran kecemasan.
Keluarkan telefon anda dan buka aplikasi Google Authenticator. Anda boleh mengimbas kod QR atau menambah kunci rahsia untuk menambah entri baru. Setelah anda melakukannya, catat kod sandaran dan simpannya selamat di suatu tempat. Sekiranya telefon anda tersasar atau rosak, anda boleh menggunakan kod tersebut untuk log masuk.
Untuk pertanyaan yang tersisa, tekan y
ketika diminta untuk mengemas kini .google_authenticator
file, y
karena tidak membenarkan banyak penggunaan token yang sama, n
untuk meningkatkan jangka masa, dan y
untuk mengaktifkan pembatasan kadar.
Anda harus mengulangi Langkah 3 untuk semua pengguna di mesin anda, jika tidak, mereka tidak akan dapat masuk setelah anda mengikuti tutorial ini.
Sekarang semua pengguna di mesin anda telah menyediakan aplikasi pengesah Google mereka, sudah waktunya untuk mengkonfigurasi SSH untuk menggunakan kaedah pengesahan ini daripada yang sekarang.
Masukkan arahan berikut untuk mengedit sshd
fail.
sudo nano /etc/pam.d/sshd
Cari baris @include common-auth
dan komen seperti di bawah.
# Standard Un*x authentication.
#@include common-auth
Tambahkan baris berikut ke bahagian bawah fail ini.
auth required pam_google_authenticator.so
Tekan Ctrl + X
untuk menyimpan dan keluar.
Seterusnya, masukkan arahan berikut untuk mengedit sshd_config
fail.
sudo nano /etc/ssh/sshd_config
Cari istilah ChallengeResponseAuthentication
dan tetapkan nilainya menjadi yes
. Cari juga istilah PasswordAuthentication
, unmentasikannya, dan ubah nilainya menjadi no
.
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
Langkah seterusnya adalah menambahkan baris berikut ke bahagian bawah fail.
AuthenticationMethods publickey,keyboard-interactive
Simpan dan tutup fail dengan menekan Ctrl + X
. Sekarang kita telah mengkonfigurasi pelayan SSH untuk menggunakan Google Authenticator, sudah waktunya untuk memulakannya semula.
sudo service ssh restart
Cuba log masuk semula ke pelayan. Kali ini anda akan diminta untuk mendapatkan kod Pengesah anda.
ssh user@serverip
Authenticated with partial success.
Verification code:
Masukkan kod yang dihasilkan oleh aplikasi anda dan anda akan berjaya dilog masuk.
Catatan
Sekiranya anda kehilangan telefon anda, gunakan kod sandaran dari Langkah 2. Sekiranya anda kehilangan kod sandaran, anda selalu dapat mencarinya di dalam .google_authenticator
fail di bawah direktori utama pengguna setelah anda log masuk melalui konsol Vultr.
Kesimpulannya
Mempunyai pengesahan berbilang faktor meningkatkan keselamatan pelayan anda dan membolehkan anda membantu menggagalkan serangan kekerasan biasa.
Versi lain