2 Otentikasi Faktor di SSH menggunakan kunci publik dan PAM

9

Saya mencoba menyiapkan 2 Factor Authentication. Saya ingin pengguna berhasil masuk jika:

  • Kunci privat / publik publik cocok (metode otentikasi: publickey) atau kata sandi sudah benar
  • Metode otentikasi pam saya berhasil.

Metode otentikasi kedua adalah file PAM. Jadi saya menempatkannya ke dalam /usr/lib/pam/dan ditambahkan auth required my_pam_module.sodalam /etc/pam.d/sshd.
Sejauh ini saya bisa login menggunakan (metode publickey) atau (kata sandi dan apa pun yang diperlukan oleh modul pam saya). Jadi saya menambahkan AuthenticationMethods publickey,keyboard-interactivedalam /etc/sshd_configdan sekarang saya diminta untuk memiliki kunci publik, password, dan "apa saja yang dibutuhkan oleh saya pam modul".

Baris apa yang perlu saya ubah untuk mencapai apa yang saya jelaskan di atas? Saya menggunakan Mac OS X Mavericks (10.9). Jika Anda tidak terbiasa dengan Mac, ini juga dapat membantu apa yang Anda lakukan di sistem Linux.

Matt3o12
sumber

Jawaban:

2

Sangat mudah untuk "publickey-> password-> your_module" atau "password-> your_module". Tidak dapat menemukan cara untuk menghapus kata sandi dari rantai pertama

publickey, keyboard-interactive - berarti publickey auth akan digunakan dan keyboard-interaktif setelah itu (semacam logika AND), ganti koma dengan ruang untuk logika OR, seperti

AuthenticationMethods publickey, keyboard-interactive: pam keyboard-interactive: pam

Dmitri Sosnik
sumber
Ketika saya menulis keyboard-interactive:pamdi konfigurasi, saya mendapatkan kesalahan ini:ssh_exchange_identification: Connection closed by remote host
Matt3o12
Cobalah untuk menjalankan ssh client dalam mode verbose, itu akan memberi Anda lebih banyak informasi apa yang salah. Seperti, 'ssh -vvv <hostname>'
Dmitri Sosnik
di sini adalah log verbose dari ssh: pastebin.com/hXTaCJ6f . Anda juga dapat menemukan bagian-bagian yang relevan dari log server saya di bawah ini (hal-hal terbaru yang dilaporkan sshd). Apakah saya perlu mengganti pam dengan "my_pam_method"?
Matt3o12
Hanya ingin tahu, apakah Anda menambahkan "ChallengeResponseAuthentication ya" dan "UsePAM yes" ke sshd config?
Dmitri Sosnik
Itu tidak diatur ke ya tapi saya mengubahnya, meskipun tidak ada yang berubah (masih mendapatkan kesalahan yang sama). Apakah itu berhasil untuk Anda? Dan jika demikian, OpenSSL apa yang Anda gunakan?
Matt3o12