ssh dengan frasa sandi, mundur ke Google Authenticator

8

Dengan diperkenalkannya Google Authenticator dan kemampuan untuk menggunakannya dengan ssh, saya bertanya-tanya apakah seseorang telah melalui pengaturan sshd_config yang akan

  • pertama-tama mengharapkan kunci
  • jika ini gagal, kembali ke autentikasi dengan Google Authenticator

Idenya adalah untuk terhubung secara mulus dengan kunci dan, biasanya di lingkungan yang kurang ramah, terhubung dengan mekanisme dua faktor.

WoJ
sumber

Jawaban:

16

Ya, saya memiliki pengaturan di mana saya bisa sshke server saya menggunakan otentikasi kunci publik, dengan mundur ke otentikasi dua faktor dengan kata sandi Google Authenticator + ketika kunci pribadi saya tidak tersedia. Ini adalah langkah-langkah yang dapat Anda gunakan untuk mengaturnya.

Menginstal Google Authenticator

Server saya menjalankan Ubuntu Bionic Beaver (18.04.1). Anda dapat menginstal Google Authenticator menggunakan apt:

$ sudo apt install libpam-google-authenticator

Konfigurasi sshd

Buka /etc/pam.d/sshddan tambahkan baris berikut di atas:

auth optional pam_google_authenticator.so

Buka /etc/ssh/sshd_configdan ubah satu baris. Baris yang ada adalah

ChallengeResponseAuthentication no

dan Anda harus mengubahnya ke

ChallengeResponseAuthentication yes

Mengkonfigurasi Google Authenticator untuk Akun Anda

Langkah selanjutnya adalah mengaktifkan Google Authenticator untuk akun Anda. Anda melakukan ini hanya dengan menjalankan:

$ google-authenticator

Pastikan Anda menjalankan ini sebagai pengguna yang akan membuat koneksi ssh, bukan root. Catat kunci rahasia baru Anda dan kode awal darurat Anda. Wisaya akan menanyakan beberapa pertanyaan kepada Anda untuk mengonfigurasi pengaturan keamanan untuk akun Anda.

Mengonfigurasi Aplikasi Seluler Anda

Saya menggunakan aplikasi Google Authenticator untuk iPhone. Aplikasi ini memiliki tombol [+] yang memungkinkan saya untuk menambahkan Token Berbasis Waktu baru menggunakan kunci rahasia yang saya peroleh dari google-authenticatorperintah di server saya. Itu sepele untuk diatur. Saya tidak dapat membantu Anda dengan aplikasi di platform lain, tetapi saya membayangkan prosesnya sama sederhana.

Menarik Pemicu

Hal terakhir yang perlu Anda lakukan adalah me-restart sshd.

$ sudo /etc/init.d/ssh restart

Pada titik ini, ketika Anda mencoba untuk terhubung ke server ketika kunci pribadi Anda tersedia, otentikasi hanya berfungsi. Ketika kunci pribadi Anda tidak tersedia, Anda akan mendapatkan prompt untuk kode verifikasi, lalu kata sandi akun Anda.

Bingo, otentikasi dua faktor.

William Jackson
sumber
Terima kasih banyak - ini sangat lengkap dan persis apa yang saya cari.
WoJ
Tampak hebat, persis apa yang saya butuhkan. Saya akan mengikuti instruksi Anda dan memberikan umpan balik setelahnya.
peipst9lker