วิธีกำหนดค่าการรับรองความถูกต้องสองปัจจัยใน SSH ใน Ubuntu

การรับรองความถูกต้องด้วยสองปัจจัย

La การรับรองความถูกต้องด้วยสองปัจจัย (2FA) ไม่ใช่สิ่งพิเศษที่สามารถใช้บนโซเชียลมีเดียได้ หรือบนเว็บไซต์อื่น ๆ มาตรการรักษาความปลอดภัยนี้สามารถนำไปใช้ภายในระบบปฏิบัติการได้เช่นกัน

นั่นคือเหตุผล วันนี้เราจะมาดูวิธีใช้การรับรองความถูกต้องด้วยสองปัจจัยใน SSH ใน Ubuntu และอนุพันธ์โดยใช้ Google Authenticator ที่รู้จักกันดีซึ่งจะช่วยเพิ่มความปลอดภัยให้กับเซิร์ฟเวอร์ OpenSSH ของคุณได้มาก

โดยปกติคุณเพียงแค่ป้อนรหัสผ่านหรือใช้คีย์ SSH เพื่อเข้าสู่ระบบของคุณจากระยะไกล

การรับรองความถูกต้องด้วยสองปัจจัย (2FA) จำเป็นต้องป้อนข้อมูลสองส่วนเพื่อเข้าสู่ระบบ

ดังนั้นคุณจะต้องป้อนรหัสผ่านแบบใช้ครั้งเดียวตามเวลาเพื่อเข้าสู่ระบบเซิร์ฟเวอร์ SSH ของคุณ

รหัสผ่านแบบใช้ครั้งเดียวนี้คำนวณโดยใช้อัลกอริทึม TOTP ซึ่งเป็นมาตรฐาน IETF

การติดตั้งและกำหนดค่า Google Authenticator ใน Ubuntu และอนุพันธ์

ขั้นตอนแรกที่เราจะดำเนินการคือการติดตั้ง Google Authenticator ในระบบของเราดังนั้นเราจะเปิดเทอร์มินัลในระบบ (สามารถทำได้โดยใช้คีย์ผสม“ Ctrl + Alt + T) และในนั้นเราจะพิมพ์คำสั่งต่อไปนี้:

sudo apt install libpam-google-authenticator

การติดตั้งเสร็จสิ้น เราจะเรียกใช้แอปพลิเคชันที่ติดตั้งใหม่ด้วยคำสั่งต่อไปนี้:

google-authenticator

เมื่อเรียกใช้คำสั่งนี้สิ่งที่เราจะทำคือกำหนดรหัสลับและสิ่งนี้จะถามเราว่าเราต้องการใช้โทเค็นตามเวลาหรือไม่ซึ่งเราจะตอบว่าใช่

หลังจากนี้, พวกเขาจะเห็นรหัส QR ซึ่งสามารถสแกนโดยใช้แอป TOTP บนโทรศัพท์ของพวกเขา

ที่นี่ เราขอแนะนำให้ใช้แอปพลิเคชัน Google Authenticator บนโทรศัพท์มือถือของคุณil เพื่อให้คุณสามารถติดตั้งแอปพลิเคชันผ่าน Google Play หรือ Apple App Store บนโทรศัพท์มือถือของคุณ

มีแอปพลิเคชันบนโทรศัพท์ของคุณแล้วคุณต้องสแกนรหัส QR ด้วย โปรดทราบว่าคุณต้องขยายหน้าต่างเทอร์มินัลเพื่อสแกนโค้ด QR ทั้งหมด

รหัส QR แทนรหัสลับซึ่งเป็นที่รู้จักในเซิร์ฟเวอร์ SSH และแอป Google Authenticator เท่านั้น

เมื่อสแกนโค้ด QR แล้วพวกเขาจะเห็นโทเค็นหกหลักที่ไม่ซ้ำกันในโทรศัพท์ โดยค่าเริ่มต้นโทเค็นนี้จะใช้เวลา 30 วินาทีและต้องเข้าสู่ระบบ Ubuntu ผ่าน SSH

google-authenticator-secret-key

ในเทอร์มินัลคุณจะเห็นรหัสลับเช่นเดียวกับรหัสยืนยันและรหัสเริ่มฉุกเฉิน

ซึ่งเราขอแนะนำให้คุณเก็บข้อมูลนี้ไว้ในที่ปลอดภัยเพื่อใช้ในภายหลัง จากคำถามอื่น ๆ ที่เราถูกถามเราจะตอบว่าใช่โดยพิมพ์ตัวอักษร y

การตั้งค่า SSH เพื่อใช้กับ Google Authenticator

นับจากข้างต้นแล้ว ตอนนี้เรากำลังจะทำการกำหนดค่าที่จำเป็นเพื่อให้สามารถใช้การเชื่อมต่อ SSH ในระบบของเรากับ Google Authenticator

ในเทอร์มินัล vเราจะพิมพ์คำสั่งต่อไปนี้

sudo nano /etc/ssh/sshd_config

ภายในไฟล์ เราจะมองหาบรรทัดต่อไปนี้และเราจะเปลี่ยนเป็น "ใช่" ดังนี้:

UsePAM yes

ChallengeResponseAuthentication yes

เมื่อทำการเปลี่ยนแปลงแล้วให้บันทึกการเปลี่ยนแปลงที่ทำด้วย Ctrl + O และปิดไฟล์ด้วย Ctrl + X

ในเทอร์มินัลเดียวกันเราจะรีสตาร์ท SSH ด้วย:

sudo systemctl restart ssh

โดยค่าเริ่มต้นการรับรองความถูกต้องกำหนดให้พวกเขาป้อนรหัสผ่านผู้ใช้เพื่อเข้าสู่ระบบ

สำหรับอะไร มาแก้ไขไฟล์กฎ PAM สำหรับ SSH daemon

sudo nano /etc/pam.d/sshd

ที่จุดเริ่มต้นของไฟล์นี้คุณจะเห็นบรรทัดต่อไปนี้ซึ่งเปิดใช้งานการตรวจสอบรหัสผ่าน

ChallengeResponseAuthentication

ซึ่งเราต้องตั้งค่าเป็นใช่

หากต้องการเปิดใช้งานการพิสูจน์ตัวตนด้วยรหัสผ่านเพียงครั้งเดียวให้เพิ่มสองบรรทัดต่อไปนี้

@include common-auth

#One-time password authentication via Google Authenticator

auth required pam_google_authenticator.so

บันทึกและปิดไฟล์

นับจากนี้เป็นต้นไปทุกครั้งที่เข้าสู่ระบบของคุณผ่านการเชื่อมต่อ SSH พวกเขาจะได้รับแจ้งให้ป้อนรหัสผ่านผู้ใช้และรหัสยืนยัน (รหัสผ่านแบบใช้ครั้งเดียวที่สร้างโดย Google Authenticator)


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   มิเกล dijo

    สวัสดีแบบฝึกหัดที่ค่อนข้างง่ายอย่างไรก็ตามเมื่อฉันทำตามขั้นตอนทั้งหมดแล้วฉันไม่สามารถป้อนด้วย ssh ได้อีกต่อไปมันทำให้ฉันมีข้อผิดพลาดรหัสผ่านที่ไม่ถูกต้องฉันไม่สามารถขอ 2FA ได้

    ฉันมี Ubuntu Server 20.04