ssh Keyboard Authentication: เมื่อใดที่จะต้องใส่รหัส Google Authenticator


0

คำถามเหล่านี้ดูเหมือนจะเกี่ยวข้อง:

ฉันเชื่อว่าสถานการณ์ของฉันแตกต่างกันพอที่จะเริ่มหัวข้อใหม่


ฉันตั้งค่า 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]

ขอบคุณ


1
คุณเห็นข้อผิดพลาดอะไรในบันทึกของเซิร์ฟเวอร์
Jakuje

จาคุจิขอบคุณที่ทำให้จิตใจฉันสมบูรณ์ มัน/usr/lib/security/pam_google_authenticator.soไม่ปรากฏขึ้น อย่างไรก็ตามการติดตั้งบอกว่ามันถูกเพิ่มไปยัง / usr / lib / security เรียบร้อยแล้ว
TresPaul

คำตอบ:


0

libpam-google-authenticatorติดตั้งจาก AUR ด้วยmake installเป็นต้น

นั่นไม่ใช่วิธีที่คุณติดตั้งสิ่งต่าง ๆ จาก AUR

แพ็คเกจ AUR มีคำแนะนำในการสร้างและติดตั้งของตัวเองแล้ว - PKGBUILDไฟล์ซึ่งคัดลอกไฟล์ที่จำเป็นไปยังสถานที่ของพวกเขาแล้วและยังสร้าง.pkg.tar.gzไฟล์ด้วย วิธีที่เหมาะสมในการสร้างหนึ่งคือmakepkg:

makepkg -sirc

จะสร้างติดตั้งและทำความสะอาด

เกิดอะไรขึ้นถ้าการดาวน์โหลดของคุณไม่มีPKGBUILDอยู่ในนั้น? จากนั้นคุณดาวน์โหลดไฟล์ผิด แพคเกจระดับบนสุดสามารถหาได้จากลิงค์ในกล่องด้านขวา


ขอขอบคุณ. ฉันไม่ได้พูดถึงเรื่องนี้ แต่makepkgให้ข้อผิดพลาด ( cd: too many arguments) ซึ่งเกิดจากPKGBUILDไฟล์ (ฉันได้ดูข้างใน ... ) (และฉันดาวน์โหลดจากaur.archlinux.org/...git) และดังนั้นฉันคิดว่าฉันจะติดตาม GitHub Readme แต่ฉันจะ พยายามให้หนักขึ้นเพื่อ "ถูกต้อง" นับจากนี้ไป! :-)
TresPaul

@TresPaul: มักเกิดจากเส้นทางที่มีช่องว่าง (เช่น…/AUR Package/) ถึงแม้ว่า pkgbuilds ส่วนใหญ่จะป้องกันสิ่งเหล่านี้ แต่ Makefiles ส่วนใหญ่ก็ไม่ได้ - นั่นคือสาเหตุที่คู่มือของคุณmake installล้มเหลวเช่นกัน
grawity

ใช่ฉันรู้ว่าตอนนี้ เห็นได้ชัดว่านี่เป็นปัญหาแล้วในปี 2547: bbs.archlinux.org/viewtopic.php?id=2293
TresPaul

1

ดังนั้นฉันจึงแก้ไขมันด้วย

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

ข้อผิดพลาดเป็น.soไฟล์ที่ขาดหายไปโดยปริยายว่ามีบางอย่างผิดปกติหรือฉันพลาดบางสิ่งในระหว่างการติดตั้ง


อย่างไรก็ตามสิ่งนี้ดูเหมือนจะไม่เป็นแนวปฏิบัติที่ดีที่สุด หากใครบางคนมีทางออกที่ดีกว่าและสง่างามมากขึ้นโปรดอย่าลังเลที่จะเพิ่มเป็นคำตอบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.