มีตัวสร้างรหัสตรวจสอบความถูกต้องแบบสองปัจจัยบรรทัดคำสั่งหรือไม่


23

ฉันจัดการเซิร์ฟเวอร์ด้วยการตรวจสอบสิทธิ์แบบสองปัจจัย ฉันต้องใช้แอพ Google Authenticator iPhone เพื่อรับรหัสยืนยัน 6 หลักเพื่อป้อนหลังจากป้อนรหัสผ่านเซิร์ฟเวอร์ปกติ การตั้งค่ามีอธิบายไว้ที่นี่: http://www.mnxsolutions.com/security/two-factor-ssh-with-google-authenticator.html

ฉันต้องการวิธีรับรหัสยืนยันโดยใช้เพียงแล็ปท็อปไม่ใช่จาก iphone ต้องมีวิธีในการเพาะแอปบรรทัดคำสั่งที่สร้างรหัสยืนยันและให้รหัสสำหรับหน้าต่าง 30 วินาทีปัจจุบัน

มีโปรแกรมที่สามารถทำได้หรือไม่?

คำตอบ:


24

ใช่oathtoolสามารถทำได้ คุณจะต้องเริ่มต้นด้วยความลับที่แชร์จากเซิร์ฟเวอร์ของคุณ

คุณสามารถติดตั้งได้จากoath-toolkitแพ็คเกจ


สิ่งนี้เข้ากันได้กับโมดูล PAM ของ Google Authenticator หรือไม่ ดูเหมือนสัตว์เดรัจฉานที่แตกต่างกัน (แม้ว่าเทียบเท่ากับหน้าที่)
voretaq7

2
ใช่ - ด้วยการ--totpตั้งค่าสถานะอุปกรณ์จะใช้ TOTP ที่สอดคล้องกับมาตรฐานเดียวกันกับที่ Google Authenticator ทำ
EEAA

2
oathtoolมัน ในหลายกรณีคุณจำเป็นต้องใช้ทั้งสอง--totpและ-bตั้งค่าสถานะ (การถอดรหัส base32)
Zouppen

1
FWIW ฉันเขียน shell wrapper สำหรับ oathtool ที่เทียบเท่ากับ Authy ใน CLI: github.com/poolpog/bash-otp
JDS

FWIW: ฉันเขียน C-wrapper ซึ่งใช้libpam-google-authenticatorตรวจสอบโทเค็น ดูgithub.com/hilbix/google-auth - ใน README จะมีฟังก์ชั่นchecktotpแสดง เพียงแค่ลบ| fgrep -qx "$1";เพื่อดูโทเค็น
Tino

3

มีการใช้งาน Authenticator ของบุคคลที่สามมากมาย ตรวจสอบรายชื่อในหน้าวิกิพีเดีย ตัวอย่างเช่นคุณอาจใช้onetimepass (ซึ่งเขียนเป็น Python) สำหรับการใช้งานบรรทัดคำสั่ง


3

นอกจากนี้ยังมีการใช้งานบน github ที่https://github.com/pcarrier/gauth

อันนี้ใช้ไฟล์ปรับแต่ง~/.config/gauth.csvเพื่อเก็บโทเค็นในรูปแบบต่อไปนี้

me@gmail.com: abcd efg hijk lmno
aws-account: mygauthtoken

และเอาต์พุตก็ค่อนข้างเป็นมิตรเช่นกัน:

$ gauth
           prev   curr   next
AWS        315306 135387 483601
Airbnb     563728 339206 904549
Google     453564 477615 356846
Github     911264 548790 784099
[=======                      ]

2

เท่าที่ฉันทราบว่า Google เปิดตัวแอปพลิเคชั่น Authenticator สำหรับโทรศัพท์ (iOS, Android) เท่านั้น
(สิ่งนี้ทำให้เกิดปัญหาสำหรับคนหวาดระแวงอย่างฉันที่ไม่เชื่อถือประวัติของ Google ในการหยุดให้บริการโดยไม่แจ้งให้ทราบล่วงหน้าและต้องการเครื่องกำเนิดโทเค็นที่เราเห็นด้านใน)

คุณสามารถพิจารณาทางเลือกอื่น ๆ เช่นระบบแผ่นรหัสผ่านครั้งเดียว


จริงๆแล้วการรับรหัสยืนยันจากแล็ปท็อปของคุณจะเอาชนะด้านการตรวจสอบสองปัจจัย (ใครก็ตามที่จับแล็ปท็อปในขณะนี้มีตัวสร้างรหัส - ซึ่งเป็นส่วนหนึ่งของสิ่งที่ Authenticator ควรจะป้องกัน)


ฉันเห็นด้วยกับความเชื่อมั่นว่าอุปกรณ์แยกต่างหากเป็นสิ่งจำเป็นพื้นฐานสำหรับ 2FA อย่างไรก็ตามอุปกรณ์รองนั้นอาจเป็นเซิร์ฟเวอร์ระยะไกลได้หรือไม่
Jerry W.

1
การจัดเก็บความลับ TOTP ของคุณบนแล็ปท็อปแทนที่จะเป็นโทรศัพท์ของคุณยังดีกว่าไม่มี TOTP เลยถ้าคุณไม่เก็บรหัสผ่านไว้ในแล็ปท็อปของคุณ (เช่นในตัวแทนรหัสผ่านของเบราว์เซอร์) ผู้โจมตีของ MITM (เช่นตัวบันทึกคีย์) ไม่สามารถเข้าถึงความลับ TOTP ได้เพียงแค่รหัสตามเวลาและดังนั้นจึงสามารถบันทึกข้อมูลรับรองความถูกต้องได้ดีเพียงหนึ่งหรือสองนาที แล็ปท็อปที่ถูกขโมยมีความลับ TOTP แต่ไม่ใช่รหัสผ่าน (คุณจะต้องใช้รหัสผ่านที่อ่อนแอกว่าเพื่อให้เป็นที่น่าจดจำ แต่ก็ไม่เป็นไรกับ TOTP) ทำให้ผู้โจมตีทั้งคู่ดมรหัสผ่านและขโมยความลับทำให้งานของพวกเขายุ่งยาก
Curt J. Sampson

หมายเหตุอีกข้อหนึ่ง: TOTP ที่ผ่านการฝึกฝนแล้วไม่ใช่เทคนิคสองปัจจัยในความหมายที่เข้มงวดที่สุดเพราะทั้งรหัสผ่านและความลับของ TOTP เป็น "สิ่งที่คุณรู้" สามารถคัดลอกได้โดยที่เจ้าของไม่ทราบว่ามีการสูญเสียความลับ
Curt J. Sampson

1

คุณสามารถลองhttp://soundly.me/oathplus

นี่เป็นเครื่องมือที่ฉันพัฒนาขึ้นoathtoolมาเพื่อให้คุณอ่านรหัส QR และซ่อนข้อมูลบัญชี OTP เพื่อใช้ในภายหลัง คุณสามารถคิดว่ามันเป็นGoogle Authenticatorสำหรับบรรทัดคำสั่งเนื่องจากสามารถดาวน์โหลดและอ่านรหัส QR และใช้otpauth://URIs ได้ (OSX atm เท่านั้น)


0

commandline windows gauth.exe สำหรับการใช้งานจากเป็นกลุ่มเมื่อแก้ไขไฟล์ที่มีรหัส gauth

https://github.com/moshahmed/gauth/releases/download/mosh1/gauth-vim-stdin-win7-2019-01-08.zip

มันเป็นส่วนหนึ่งของhttps://github.com/pcarrier/gauthเพื่อคอมไพล์บน windows7

ทดสอบ / การใช้งาน:

c:\Go\src\cmd\vendor\github.com\pcarrier\gauth-vim-stdin-win7> echo "dummy1: ABCD" | gauth.exe
prev curr next
dummy1 562716 725609 178657
[== ]

Usage from vim, when your cursor is on line
"dummy1: ABCD"
: . w ! gauth
" temp shell window popup with codes.

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