ssh Otentikasi Keyboard: kapan harus memasukkan kode Google Authenticator

0

Pertanyaan-pertanyaan ini tampaknya terkait:

Saya percaya keadaan saya cukup berbeda untuk memulai utas baru.


Saya telah mengatur ssh untuk menggunakan PAM, dengan Google-Authenticator. Saya telah menambahkan baris yang diperlukan untuk baik /etc/ssh/sshd_configdan /etc/pam.d/sshddan telah menyiapkan Google Authenticator pada kedua komputer dan aplikasi. Kunci publik dari setiap sistem disalin di sisi lain.

Di /etc/ssh/sshd_config:

PasswordAuthentication no
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive:pam

Di /etc/pam.d/sshd:

#%PAM-1.0
auth     required  pam_securetty.so     #disable remote root
# require google authenticator
auth      required  pam_google_authenticator.so
# but not password
#auth      include   system-remote-login
account   include   system-remote-login
password  include   system-remote-login
session   include   system-remote-login

Ini adalah output dari ssh -vvv 192.IP.address.0:

OpenSSH_7.4p1, OpenSSL 1.0.2j  26 Sep 2016
...
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: ...
...
debug2: service_accept: ssh-userauth
...
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/trespaul/.ssh/id_rsa
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok
debug3: sign_and_send_pubkey
Enter passphrase for key '/home/trespaul/.ssh/id_rsa': 
debug3: send packet: type 50
debug3: receive packet: type 51
Authenticated with partial success.
debug1: Authentications that can continue: **keyboard-interactive**
debug3: **start over**, passed a different list keyboard-interactive
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup keyboard-interactive
debug3: remaining preferred: password
debug3: authmethod_is_enabled keyboard-interactive
debug1: Next authentication method: **keyboard-interactive**
debug2: userauth_kbdint
debug3: send packet: type 50
debug2: **we sent a keyboard-interactive packet**, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: keyboard-interactive
debug3: userauth_kbdint: disable: no info_req_seen
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (keyboard-interactive).

Antara dua tebal / bintang ganda terakhir ("metode auth berikutnya adalah interaktif kbd" dan "kami mengirim paket"), saya tidak diminta untuk OTP saya. Kenapa ini? Apa yang saya lewatkan?

Informasi tambahan

Saya di Arch. libpam-google-authenticatordiinstal dari AUR dengan make installdll.

Edit: Log server

journalctl di server memiliki yang berikut:

systemd[1]: Started OpenSSH Per-Connection Daemon (10.0.0.5:38150).
sshd[1376]: PAM unable to dlopen(/usr/lib/security/pam_google_authenticator.so): /usr/lib/security/pam_google_authenticator.so: cannot open shared object file: No such file or directory
sshd[1376]: PAM adding faulty module: /usr/lib/security/pam_google_authenticator.so
sshd[1376]: error: PAM: Module is unknown for paul from 10.0.0.5
sshd[1376]: Connection closed by 10.0.0.5 port 38150 [preauth]

Terima kasih.

TresPaul
sumber
1
kesalahan apa yang Anda lihat di log server?
Jakuje
Jakuje, terima kasih, itu benar-benar menyelinap di pikiranku. Tampaknya /usr/lib/security/pam_google_authenticator.sotidak ada. Instalasi, bagaimanapun, mengatakan bahwa itu berhasil ditambahkan ke / usr / lib / security.
TresPaul

Jawaban:

0

libpam-google-authenticatordiinstal dari AUR dengan make installdll.

Itu bukan cara Anda menginstal sesuatu dari AUR.

Paket AUR sudah memiliki instruksi build & install sendiri - PKGBUILDfile, yang sudah menyalin file yang diperlukan ke tempat mereka dan bahkan membuat .pkg.tar.gzfile dengannya. Cara membangun yang benar adalah makepkg:

makepkg -sirc

akan membangun, menginstal, dan membersihkan.

Bagaimana jika unduhan Anda tidak ada PKGBUILDdi dalamnya? Kemudian Anda mengunduh file yang salah. Sumber paket tingkat atas dapat diperoleh dari tautan di kotak paling kanan,

grawity
sumber
Terima kasih. Saya tidak menyebutkan ini, tetapi makepkgmemberikan kesalahan ( cd: too many arguments) yang berasal dari PKGBUILDfile (saya telah melihat ke dalam ...) (Dan saya mengunduh dari aur.archlinux.org/...git) dan jadi saya pikir saya akan mengikuti GitHub Readme, tapi saya akan coba lebih keras untuk melakukannya "dengan benar" mulai sekarang! :-)
TresPaul
@TresPaul: Biasanya disebabkan oleh jalur dengan spasi (misalnya …/AUR Package/). Meskipun sebagian besar pkgbuild menjaga hal itu, sebagian besar Makefile tidak akan - itu sebabnya manual Anda juga make installgagal.
grawity
Ya, saya baru menyadarinya. Rupanya ini sudah menjadi masalah pada tahun 2004: bbs.archlinux.org/viewtopic.php?id=2293
TresPaul
1

Jadi saya memecahkan ini dengan

sudo cp '.../AUR Package/.libs/pam_google_authenticator.so' /usr/lib/security/pam_google_authenticator.so

Kesalahannya adalah .sofile yang hilang , yang menyiratkan bahwa ada kesalahan atau saya melewatkan sesuatu selama instalasi.


Namun ini sepertinya bukan praktik terbaik. Jika seseorang memiliki solusi yang lebih baik, lebih elegan, silakan tambahkan sebagai jawaban.

TresPaul
sumber