คำถามเหล่านี้ดูเหมือนจะเกี่ยวข้อง:
- Duo Authentication Interactive Keyboard (ไม่มีคำตอบ)
- https://serverfault.com/questions/417209/enabled-password-auth-on-sshd-now-keyboard-interactive-auth-hangs (ข้อผิดพลาดระบบของฉันเป็นรุ่นล่าสุดแล้ว)
ฉันเชื่อว่าสถานการณ์ของฉันแตกต่างกันพอที่จะเริ่มหัวข้อใหม่
ฉันตั้งค่า ssh เพื่อใช้ PAM กับ Google-Authenticator ฉันได้เพิ่มบรรทัดที่จำเป็นให้กับทั้งสอง/etc/ssh/sshd_config
และ/etc/pam.d/sshd
ได้ตั้งค่า Google Authenticator ในคอมพิวเตอร์และแอป กุญแจสาธารณะของแต่ละระบบจะถูกคัดลอกที่อื่น ๆ
ใน/etc/ssh/sshd_config
:
PasswordAuthentication no
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive:pam
ใน/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
นี่คือผลลัพธ์จาก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).
ระหว่างสองตัวหนา / ดาวสองตัวสุดท้าย ("วิธี auth ถัดไปคือ kbd แบบโต้ตอบ" และ "เราส่งแพ็กเก็ต") ฉันไม่ได้ถาม OTP ของฉัน ทำไมนี้ ฉันพลาดอะไรไป
ข้อมูลเพิ่มเติม
ฉันอยู่บน Arch libpam-google-authenticator
ติดตั้งจาก AUR ด้วยmake install
เป็นต้น
แก้ไข: บันทึกเซิร์ฟเวอร์
journalctl
บนเซิร์ฟเวอร์มีดังต่อไปนี้:
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]
ขอบคุณ
/usr/lib/security/pam_google_authenticator.so
ไม่ปรากฏขึ้น อย่างไรก็ตามการติดตั้งบอกว่ามันถูกเพิ่มไปยัง / usr / lib / security เรียบร้อยแล้ว