วิธีรักษาความปลอดภัย SSH ด้วยการตรวจสอบสิทธิ์แบบสองปัจจัยของ Google Authenticator
ต้องการรักษาความปลอดภัยเซิร์ฟเวอร์ SSH ของคุณด้วยการตรวจสอบสิทธิ์แบบสองปัจจัยที่ใช้งานง่ายหรือไม่ Google จัดหาซอฟต์แวร์ที่จำเป็นเพื่อรวมระบบรหัสผ่านแบบใช้ครั้งเดียว (TOTP) ตามเวลาจริงของ Google Authenticator กับเซิร์ฟเวอร์ SSH ของคุณ คุณจะต้องป้อนรหัสจากโทรศัพท์ของคุณเมื่อคุณเชื่อมต่อ.
Google Authenticator ไม่ได้“ โทรศัพท์กลับบ้าน” ไปยัง Google - งานทั้งหมดที่เกิดขึ้นบนเซิร์ฟเวอร์ SSH และโทรศัพท์ของคุณ อันที่จริงแล้ว Google Authenticator เป็นโอเพ่นซอร์สอย่างสมบูรณ์ดังนั้นคุณสามารถตรวจสอบซอร์สโค้ดของตัวเองได้.
ติดตั้ง Google Authenticator
ในการใช้การรับรองความถูกต้องแบบหลายปัจจัยกับ Google Authenticator เราจะต้องใช้โมดูล PAM ของ Google Authenticator โอเพนซอร์ส PAM ย่อมาจาก "โมดูลการพิสูจน์ตัวตนแบบเสียบปลั๊กได้" - เป็นวิธีที่จะเสียบการพิสูจน์ตัวตนในรูปแบบต่าง ๆ เข้ากับระบบ Linux ได้อย่างง่ายดาย.
คลังเก็บซอฟต์แวร์ของ Ubuntu มีแพ็คเกจที่ติดตั้งง่ายสำหรับโมดูล PAM ของ Google Authenticator หากการแจกจ่าย Linux ของคุณไม่มีแพ็คเกจสำหรับสิ่งนี้คุณจะต้องดาวน์โหลดจากหน้าดาวน์โหลด Google Authenticator บน Google Code และรวบรวมด้วยตัวคุณเอง.
ในการติดตั้งแพ็คเกจบน Ubuntu ให้รันคำสั่งต่อไปนี้:
sudo apt-get install libpam-google-authenticator
(สิ่งนี้จะติดตั้งเฉพาะโมดูล PAM ในระบบของเรา - เราจะต้องเปิดใช้งานสำหรับการเข้าสู่ระบบ SSH ด้วยตนเอง)
สร้างคีย์การรับรองความถูกต้อง
เข้าสู่ระบบในฐานะผู้ใช้ที่คุณจะเข้าสู่ระบบจากระยะไกลและเรียกใช้ google-Authenticator คำสั่งเพื่อสร้างรหัสลับสำหรับผู้ใช้นั้น.
อนุญาตให้คำสั่งอัปเดตไฟล์ Google Authenticator ของคุณโดยพิมพ์ y จากนั้นคุณจะถูกถามด้วยคำถามหลายข้อที่จะช่วยให้คุณ จำกัด การใช้โทเค็นการรักษาความปลอดภัยชั่วคราวแบบเดียวกันเพิ่มหน้าต่างเวลาที่โทเค็นสามารถใช้งานได้ ตัวเลือกเหล่านี้ทั้งหมดแลกเปลี่ยนความปลอดภัยเพื่อความสะดวกในการใช้งาน.
Google Authenticator จะนำเสนอคุณด้วยรหัสลับและ "รหัสขูดฉุกเฉิน" หลายอันจดบันทึกรหัสลับฉุกเฉินไว้ที่ใดที่หนึ่งปลอดภัยพวกเขาสามารถใช้งานได้เพียงครั้งเดียวในแต่ละครั้ง.
ป้อนรหัสลับในแอป Google Authenticator บนโทรศัพท์ของคุณ (มีแอปอย่างเป็นทางการสำหรับ Android, iOS และ Blackberry) คุณยังสามารถใช้คุณสมบัติบาร์โค้ดสแกนได้ - ไปที่ URL ที่อยู่ใกล้กับด้านบนสุดของเอาต์พุตคำสั่งและคุณสามารถสแกนรหัส QR ด้วยกล้องในโทรศัพท์ของคุณ.
ตอนนี้คุณจะมีรหัสยืนยันบนโทรศัพท์ของคุณที่เปลี่ยนแปลงตลอดเวลา.
หากคุณต้องการเข้าสู่ระบบจากระยะไกลในฐานะผู้ใช้หลายคนให้เรียกใช้คำสั่งนี้สำหรับผู้ใช้แต่ละคน ผู้ใช้แต่ละคนจะมีรหัสลับของตนเองและรหัสของตนเอง.
เปิดใช้งาน Google Authenticator
ต่อไปคุณจะต้องกำหนดให้ Google Authenticator สำหรับการเข้าสู่ระบบ SSH ในการทำเช่นนั้นให้เปิด /etc/pam.d/sshd ไฟล์ในระบบของคุณ (เช่นด้วย sudo nano /etc/pam.d/sshd คำสั่ง) และเพิ่มบรรทัดต่อไปนี้ในไฟล์:
รับรองความถูกต้องใช้ pam_google_authenticator.so
ถัดไปเปิด / etc / SSH / sshd_config ไฟล์ค้นหา ChallengeResponseAuthentication บรรทัดและเปลี่ยนเป็นอ่านดังนี้:
ChallengeResponseAuthentication ใช่
(ถ้า ChallengeResponseAuthentication บรรทัดยังไม่มีอยู่ให้เพิ่มบรรทัดด้านบนลงในไฟล์)
สุดท้ายให้รีสตาร์ทเซิร์ฟเวอร์ SSH เพื่อให้การเปลี่ยนแปลงของคุณมีผล:
บริการ sudo รีสตาร์ท ssh
คุณจะได้รับแจ้งให้ใส่รหัสผ่านและรหัส Google Authenticator ทุกครั้งที่คุณพยายามเข้าสู่ระบบผ่าน SSH.