Saat ini saya memiliki Ubuntu Server 12.04 yang menjalankan OpenSSH bersama dengan Samba dan beberapa layanan lainnya. Pada saat ini saya telah mengatur otentikasi kunci publik, dan saya bertanya-tanya apakah mungkin untuk mengatur otentikasi dua faktor? Saya telah mencari di Google Authenticator yang saat ini saya gunakan dengan akun Gmail saya.
Saya telah menemukan modul PAM yang sepertinya akan kompatibel tetapi tampaknya Anda dipaksa untuk menggunakan kata sandi dan kode yang dihasilkan.
Saya ingin tahu apakah ada cara untuk menggunakan Aplikasi Google Authenticator (atau yang serupa) bersama dengan kunci publik saya untuk mengautentikasi ke server SSH saya?
ssh
authentication
public-key
two-factor
Keledai Beton
sumber
sumber
Jawaban:
Red Hat telah menambahkan tambalan ke OpenSSH di RHEL (dan karenanya CentOS) 6.3 untuk memerlukan beberapa mekanisme otentikasi, sehingga Anda dapat melakukan sesuatu seperti ini:
Lihat catatan rilis untuk tidak lebih detail.
Sayangnya fitur ini sepertinya tidak ada di OpenSSH hulu atau Ubuntu 12.04, jadi kecuali Anda ingin mencari tambalan dan mengkompilasi ulang OpenSSH saya khawatir Anda kurang beruntung.
sumber
AuthenticationMethods
untuk menentukan beberapa metode yang diperlukan, sehingga Anda dapat memerlukan kunci ssh dan PAM, dengan PAM melakukan akhir Google Authenticator.Anda mencari Duo Security
sumber
Anda dapat menggunakan modul PAM Google Authenticator dan kunci publik, tetapi hanya satu yang akan digunakan untuk otentikasi yang diberikan. Artinya, jika pengguna masuk dengan kunci publik yang diotorisasi, token tidak diperlukan.
Atau, untuk mengatakan sebaliknya: token hanya diperlukan untuk otentikasi kata sandi, bukan kunci SSH.
Omong-omong, pembatasan ini bukan berasal dari modul Google Authenticator, tetapi dari SSH, yang hanya mengimplementasikan dua faktor otentikasi (via
ChallengeResponseAuthentication
) untuk PAM, tetapi tidak memanggil PAM ketika kunci publik yang valid diberikan.sumber
AuthenticationMethods
parameter konfigurasi yang dapat membalik ini. Sekarang Anda dapat meminta keduanya.Pertanyaan ini dari 2012. Sejak, SSH telah berubah dan protokol SSH2 telah diimplementasikan.
Pada versi SSH terbaru (> = 6.2), man sshd_config menyebutkan:
Halaman ini http://lwn.net/Articles/544640/ juga menyebutkan kemungkinan menggunakan publickey dan otentikasi PAM secara bersamaan.
sumber
Saya tahu pertanyaan ini agak basi, tetapi demi orang-orang masa depan (termasuk saya) yang mencari solusi, ada juga pembicaraan tentang menggunakan opsi ForceCommand di file sshd_config untuk menjalankan skrip yang kemudian melakukan otentikasi. Ada contoh skrip di sini Anda dapat memodifikasi sedikit untuk kebutuhan Anda, meskipun dalam contoh itu ia memanggilnya dari file Authorized_keys alih-alih membuatnya secara sistem dengan ForceCommand milik sshd_config.
sumber
Dapatkan YubiKey dan ikuti panduan ini http://berrange.com/posts/2011/12/18/multi-factor-ssh-authentication-using-yubikey-and-ssh-public-keys-together/
AFAIK, ini adalah cara terbaik untuk mengimplementasikan Yubikey di server Anda untuk akses SSH. Panduan di atas memungkinkan Anda menggunakan kunci publik + yubikey sedangkan jika Anda menggunakan panduan resmi ( http://code.google.com/p/yubico-pam/wiki/YubikeyAndSSHViaPAM ), itu tidak berfungsi dengan publik- kunci.
Salam, Vip
sumber
Jika Anda menetapkan frasa sandi pada kunci pribadi Anda, maka Anda sudah memiliki otentikasi dua faktor. Untuk masuk, orang perlu:
sumber