Ingin mengamankan server SSH Anda dengan otentikasi dua faktor yang mudah digunakan? Google menyediakan perangkat lunak yang diperlukan untuk mengintegrasikan sistem satu kali kata sandi (TOTP) Google Authenticator berdasarkan waktu dengan server SSH Anda. Anda harus memasukkan kode dari ponsel Anda ketika Anda terhubung.
Google Authenticator tidak "menelepon pulang" ke Google - semua pekerjaan terjadi di server SSH dan ponsel Anda. Faktanya, Google Authenticator benar-benar open-source, jadi Anda bahkan dapat memeriksa sendiri kode sumbernya.
Untuk menerapkan autentikasi multifaktor dengan Google Authenticator, kita memerlukan modul PAM Google Authenticator sumber terbuka. PAM adalah singkatan dari "modul otentikasi yang dapat di-pluggable" - ini adalah cara untuk dengan mudah memasang berbagai bentuk otentikasi ke dalam sistem Linux.
Repositori perangkat lunak Ubuntu berisi paket yang mudah dipasang untuk modul PAM Google Authenticator. Jika distribusi Linux Anda tidak berisi paket untuk ini, Anda harus mengunduhnya dari halaman unduhan Google Authenticator di Google Code dan kompilasi sendiri.
Untuk menginstal paket di Ubuntu, jalankan perintah berikut:
sudo apt-get install libpam-google-authenticator
(Ini hanya akan menginstal modul PAM pada sistem kami - kami harus mengaktifkannya untuk login SSH secara manual.)
Masuk sebagai pengguna yang akan Anda masuki dengan jarak jauh dan jalankan google-authenticator perintah untuk membuat kunci rahasia untuk pengguna itu.
Izinkan perintah untuk memperbarui file Google Authenticator Anda dengan mengetik y. Anda kemudian akan diminta dengan beberapa pertanyaan yang akan memungkinkan Anda untuk membatasi penggunaan token keamanan sementara yang sama, meningkatkan jendela waktu yang dapat digunakan token, dan membatasi upaya akses yang diizinkan untuk menghambat upaya retas brute-force. Pilihan ini semua memperdagangkan beberapa keamanan untuk beberapa kemudahan penggunaan.
Google Authenticator akan memberi Anda kunci rahasia dan beberapa "kode gores darurat." Tuliskan kode gores darurat di suatu tempat yang aman - mereka hanya dapat digunakan satu kali setiap kali, dan mereka dimaksudkan untuk digunakan jika Anda kehilangan ponsel.
Masukkan kunci rahasia di aplikasi Google Authenticator di ponsel Anda (aplikasi resmi tersedia untuk Android, iOS, dan Blackberry). Anda juga dapat menggunakan fitur scan barcode - pergi ke URL yang terletak di dekat bagian atas output perintah dan Anda dapat memindai kode QR dengan kamera ponsel Anda.
Sekarang Anda akan memiliki kode verifikasi yang terus berubah di ponsel Anda.
Jika Anda ingin masuk dari jarak jauh sebagai beberapa pengguna, jalankan perintah ini untuk setiap pengguna. Setiap pengguna akan memiliki kunci rahasia mereka sendiri dan kode mereka sendiri.
Selanjutnya Anda harus mewajibkan Google Authenticator untuk login SSH. Untuk melakukannya, buka /etc/pam.d/sshd file di sistem Anda (misalnya, dengan sudo nano /etc/pam.d/sshd perintah) dan tambahkan baris berikut ke file:
auth diperlukan pam_google_authenticator.so
Selanjutnya, buka / etc / ssh / sshd_config file, cari ChallengeResponseAuthentication garis, dan mengubahnya untuk dibaca sebagai berikut:
ChallengeResponseAuthentication ya
(Jika ChallengeResponseAuthentication baris belum ada, tambahkan baris di atas ke file.)
Akhirnya, restart server SSH sehingga perubahan Anda akan berlaku:
sudo service ssh restart
Anda akan diminta untuk memasukkan kata sandi dan kode Authenticator Google setiap kali Anda mencoba masuk melalui SSH.