SSH เป็นหนึ่งในวิธีที่นิยมที่สุดในการควบคุม Raspberry Pi จากแล็ปท็อปหรือพีซีของคุณ ที่นี่ คุณจะได้เรียนรู้วิธีตั้งค่าการตรวจสอบสิทธิ์แบบสองปัจจัยสำหรับการเข้าถึง SSH กับ Raspberry Pi และเพิ่มการรักษาความปลอดภัยอีกชั้นหนึ่ง
หมายเหตุ :หากคุณใช้ไฟล์คีย์ SSH เพื่อเข้าถึง Raspberry Pi การตรวจสอบสิทธิ์แบบสองปัจจัยจะไม่ถูกใช้งาน
อัปเดต Pi ของคุณ
สมมติว่าคุณได้ตั้งค่า Raspberry Pi กับ Raspberry Pi OS แล้ว ทางที่ดีควรตรวจสอบก่อนว่าซอฟต์แวร์ทั้งหมดของคุณเป็นเวอร์ชันล่าสุด เปิดเทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้:
sudo apt update && sudo apt -y upgrade
เปิดใช้งาน SSH
Raspberry Pi OS ปิดใช้งานเซิร์ฟเวอร์ SSH ตามค่าเริ่มต้น ก่อนที่คุณจะสามารถเชื่อมต่อกับ Pi ของคุณผ่าน SSH คุณต้องเปิดใช้งานโดยเรียกใช้คำสั่ง Terminal ต่อไปนี้:
sudo systemctl enable ssh sudo systemctl start ssh
ตอนนี้คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ SSH ได้แล้ว
ต้องมีการตรวจสอบสิทธิ์พร้อมการตอบกลับ
ในที่สุด Raspberry Pi ของคุณจะต้องท้าทายให้คุณตรวจสอบตัวตนของคุณแล้วดำเนินการตอบกลับ ซึ่งหมายความว่าคุณต้องเปิดใช้งานรหัสผ่านสำหรับการตอบกลับ
ในการเริ่มต้น ให้เปิดไฟล์กำหนดค่า SSH เพื่อแก้ไขโดยเรียกใช้คำสั่ง Terminal ต่อไปนี้:
sudo nano /etc/ssh/sshd_config
ภายในไฟล์นี้ ให้ค้นหา ChallengeResponseAuthentication
แล้วเปลี่ยนจาก “ไม่” เป็น “ใช่”
คุณสามารถบันทึกไฟล์ “sshd_config” ที่อัปเดตแล้วได้โดยกด Ctrl + โอ ตามด้วย Ctrl + X .
กลับไปที่เทอร์มินัล รีสตาร์ท SSH daemon ด้วยการกำหนดค่าใหม่ของคุณ:
sudo systemctl restart ssh
เนื่องจากมีการเปลี่ยนแปลงการกำหนดค่า SSH จึงเป็นความคิดที่ดีที่จะตรวจสอบว่าคุณยังคงเชื่อมต่อกับ Raspberry Pi ผ่าน SSH ได้
ในการเชื่อมต่อกับเซิร์ฟเวอร์ SSH คุณจะต้องทราบที่อยู่ IP ของ Raspberry Pi ของคุณ หากคุณยังไม่มีข้อมูลนี้ ให้เรียกใช้คำสั่งต่อไปนี้บน Pi ของคุณ:
hostname -I
การดำเนินการนี้จะส่งคืนที่อยู่ IP ที่คุณต้องการใช้
เปลี่ยนไปใช้แล็ปท็อปหรือคอมพิวเตอร์ เปิด Terminal แล้วเชื่อมต่อกับ Raspberry Pi อย่าลืมแทนที่ “10.3.000.0” ด้วยที่อยู่ IP เฉพาะของคุณ:
ssh [email protected]
คุณเชื่อมต่อผ่าน SSH แล้ว
การตั้งค่าการตรวจสอบสิทธิ์แบบสองปัจจัย
ถัดไป ดาวน์โหลดแอปพลิเคชัน Authenticator สำหรับการสร้างรหัสการตรวจสอบสิทธิ์แบบใช้ครั้งเดียว มีแอปตรวจสอบความถูกต้องต่างๆ ในตลาด แต่ฉันใช้ Google Authenticator สำหรับบทช่วยสอนนี้ ซึ่งมีให้สำหรับทั้ง iOS และ Android
เมื่อคุณดาวน์โหลดแอปพลิเคชันมือถือนี้แล้ว คุณจะต้องติดตั้งโมดูล Google Authenticator PAM บน Raspberry Pi ของคุณด้วย
บน Pi ของคุณ ให้เปิดหน้าต่างเทอร์มินัลแล้วเรียกใช้คำสั่งต่อไปนี้:
sudo apt install libpam-google-authenticator
เมื่อติดตั้ง Google Authenticator บน Raspberry Pi และอุปกรณ์มือถือของคุณแล้ว คุณก็พร้อมที่จะตั้งค่าการตรวจสอบสิทธิ์แบบสองปัจจัย
สร้างการเชื่อมต่อ:เชื่อมโยง Pi ของคุณกับอุปกรณ์มือถือของคุณ
หากต้องการสร้างลิงก์ระหว่างแอปพลิเคชันมือถือกับ Raspberry Pi ให้สร้างโค้ด QR บน Pi แล้วสแกนโค้ดนี้โดยใช้สมาร์ทโฟนหรือแท็บเล็ต
ในการสร้างรหัส QR ให้สลับกลับไปที่ Raspberry Pi ของคุณและเรียกใช้คำสั่ง Terminal ต่อไปนี้:
google-authenticator
Raspberry Pi ของคุณจะถามว่าโทเค็นการตรวจสอบสิทธิ์ควรถูกจำกัดเวลาหรือไม่ เนื่องจากปลอดภัยกว่า คุณจึงมักต้องการสร้างโทเค็นการตรวจสอบสิทธิ์ตามเวลา เว้นแต่คุณจะมีเหตุผลเฉพาะที่จะไม่ทำ
เทอร์มินัลจะสร้างรหัส QR แม้ว่าคุณอาจต้องปรับขนาดเทอร์มินัลเพื่อดูบาร์โค้ดแบบเต็ม
นอกจากนี้ยังมีชุดรหัสฉุกเฉิน หากคุณทำอุปกรณ์มือถือหาย วางผิดที่ หรือพัง รหัสเหล่านี้จะช่วยให้คุณเข้าถึง Raspberry Pi ผ่าน SSH ได้โดยไม่ต้องมีอุปกรณ์มือถือ อย่าเสี่ยงกับการถูกล็อคไม่ให้ Raspberry Pi ของคุณ จดรหัสเหล่านี้และเก็บไว้ในที่ปลอดภัย
ใช้รหัส QR นี้เพื่อเชื่อมต่อ Raspberry Pi ของคุณกับแอป Google Authenticator:
1. บนสมาร์ทโฟนหรือแท็บเล็ตของคุณ ให้เปิดแอป Google Authenticator
2. ที่มุมล่างขวา แตะเครื่องหมาย “+”
3. เลือก “สแกนบาร์โค้ด QR” เมื่อได้รับแจ้ง ให้อนุญาตแอปในการเข้าถึงกล้องของอุปกรณ์
4. ถือกล้องของอุปกรณ์ไว้ที่จอภาพแล้ววางตำแหน่งไว้เหนือรหัส QR ทันทีที่สมาร์ทโฟนหรือแท็บเล็ตของคุณรู้จักรหัส QR จะสร้างบัญชีและเริ่มสร้างรหัสการตรวจสอบสิทธิ์โดยอัตโนมัติ
5. เปลี่ยนกลับไปเป็น Raspberry Pi ของคุณ; Terminal จะแจ้งให้คุณอัปเดตไฟล์ “google_authenticator” กดปุ่ม Y บนแป้นพิมพ์ของคุณ
6. คุณจะถูกถามว่าคุณต้องการป้องกันไม่ให้คนหลายคนใช้โทเค็นการตรวจสอบสิทธิ์เดียวกันหรือไม่ กดปุ่ม Y บนแป้นพิมพ์ของคุณ
7. เมื่อถูกถามว่าต้องการเพิ่มกรอบเวลาเอียงหรือไม่ ให้กด N เนื่องจากจะช่วยปกป้องคุณจากการโจมตีแบบเดรัจฉาน
8. เทอร์มินัลจะขอให้คุณเปิดใช้งานการจำกัดอัตรา ซึ่งจะจำกัดคุณ (และผู้ที่อาจเป็นแฮ็กเกอร์!) ให้พยายามเข้าสู่ระบบสามครั้งทุกๆ 30 วินาที การจำกัดอัตราจะช่วยปกป้องคุณจากการโจมตีแบบเดรัจฉานและการโจมตีด้วยรหัสผ่านอื่นๆ ดังนั้นคุณควรเลือก "ใช่" เว้นแต่คุณจะมีเหตุผลเฉพาะเจาะจงที่จะไม่ทำเช่นนั้น
Linux Pluggable Authentication Module
สุดท้าย คุณต้องเปิดใช้งานการตรวจสอบสิทธิ์แบบสองปัจจัยกับ Raspberry Pi ของคุณโดยใช้ Linux Pluggable Authentication Modules (PAM)
ในการเริ่มต้น ให้เปิดไฟล์ “sshd” ในโปรแกรมแก้ไขข้อความ Nano:
sudo nano /etc/pam.d/sshd
เพิ่มบรรทัดต่อไปนี้:
auth required pam_google_authenticator.so
อย่างไรก็ตาม เมื่อคุณเพิ่มบรรทัดต่อไปนี้มีความสำคัญ:
1. หลังจากป้อนรหัสผ่านของคุณแล้ว
หากคุณต้องการให้ป้อนรหัสตรวจสอบสิทธิ์แบบใช้ครั้งเดียวหลังจากป้อนรหัสผ่านของ Raspberry Pi ให้เพิ่มบรรทัดนี้หลังจาก @include
.
2. ก่อนป้อนรหัสผ่านของคุณ
หากคุณต้องการให้ป้อนรหัสตรวจสอบสิทธิ์แบบใช้ครั้งเดียวก่อนป้อนรหัสผ่าน ให้เพิ่มบรรทัดนี้ก่อน @include
.
เมื่อคุณทำการเปลี่ยนแปลงเหล่านี้แล้ว ให้บันทึกไฟล์ของคุณโดยกด Ctrl + โอ ตามด้วย Ctrl + X .
รีสตาร์ท SSH daemon:
sudo systemctl restart ssh
ตอนนี้ทุกครั้งที่คุณพยายามเชื่อมต่อผ่าน SSH คุณจะถูกถามถึงรหัสยืนยันแบบใช้ครั้งเดียว
เมื่อคุณได้ตั้งค่าการรับรองความถูกต้องด้วยสองปัจจัยบน Raspberry Pi แล้ว คุณสามารถดำเนินการตั้งค่าเว็บเซิร์ฟเวอร์ส่วนตัวหรือเซิร์ฟเวอร์เพลงได้ คุณยังสามารถเพิ่มความปลอดภัยให้กับ SSH ของคุณด้วยลูกเล่นเหล่านี้