[AWS Technical Support Note] วิธีรับมือหากไม่สามารถเชื่อมต่อ SSH กับ EC2 (Amazon Linux 2023) จาก terminal software ได้
ปัญหาที่เกิดขึ้น
หลังจากสร้าง instance ด้วย Amazon Linux 2023 แล้วก็ลองเชื่อมต่อ SSH ไปยัง EC2 instance ด้วย terminal software แต่ไม่สามารถเชื่อมต่อได้ ต้องแก้ไขอย่างไร
วิธีแก้ปัญหา
จาก Release Notes ของ OpenSSH ระบุว่า ตั้งแต่ OpenSSH 8.8 เป็นต้นไป การเชื่อมต่อด้วย ssh-rsa(RSA/SHA1)จะถูกปิดการใช้งานในค่าเริ่มต้น
This release disables RSA signatures using the SHA-1 hash algorithm by default.
ดังนั้นจึงจำเป็นต้องกำหนดค่า terminal software ที่รองรับ rsa-sha2-256/512 (RSA/SHA2) เพื่อตั้งค่าใช้งาน rsa-sha2-256/512 หรืออนุญาต ssh-rsa ในการตั้งค่า OpenSSH ที่ฝั่ง instance
ตรวจสอบข้อผิดพลาด
สภาพแวดล้อมที่เตรียมสำหรับการทดสอบในครั้งนี้มีรายละเอียดนี้
AMI:al2023-ami-2023.1.20230725.0-kernel-6.1-x86_64
terminal software:RLogin (x64) Version 2.28.4
จากนั้นเชื่อมต่อโดยสภาพแวดล้อมข้างต้นด้วยค่ามาตรฐานของ RLogin
จะแสดงข้อผิดพลาดขึ้น โดยจะระบุให้เปลี่ยนการตั้งค่าเป็น rsa-sha2-256/512
เปลี่ยนการตั้งค่า terminal software
เปลี่ยนการตั้งค่า RLogin ให้เชื่อมต่อด้วย rsa-sha2-256/512
- ในหน้าจอ RLogin ที่หัวข้อ [protocol] > [RSA2 authetication key signature method (only SHA1] จะแสดงตัวเลือกขึ้นมา
- เลือกที่ SHA2-512(หรือ SHA2-256)
- คลิกที่ปุ่ม [OK]
ทำการเชื่อมต่ออีกครั้ง
เมื่อทำการทดสอบอีกครั้งจะพบว่าสามารถเชื่อมต่อได้แล้ว
ตรวจสอบเวอร์ชั่นของ OpenSSH
หลังจากเชื่อมต่อได้แล้วมาลองตรวจสอบเวอร์ชั่นของ OpenSSH
$ ssh -V
OpenSSH_8.7p1, OpenSSL 3.0.8 7 Feb 2023
จะพบว่าถึงจะเป็นเวอร์ชั่นก่อน OpenSSH 8.8 แต่การเชื่อมต่อด้วย ssh-rsa จะถูกปิดใช้งานแล้วใน Amazon Linux 2023
โดยสามารถเพิ่มสิทธิ์ในการเชื่อมต่อได้ด้วยวิธีดังต่อไปนี้
วิธีอนุญาตการเชื่อมต่อกับ ssh-rsa(RSA/SHA1)
ใน
/etc/ssh/sshd_config
หากเพิ่มบรรทัดทางด้านล่างนี้เข้าไป
PubkeyAcceptedAlgorithms=+ssh-rsa
ก็จะสามารถเชื่อมต่อได้ผ่าน ssh-rsa(RSA/SHA1)
※ในบางสภาพแวดล้อมอาจจะเป็น 「sshd_config」จึงอาจจะต้องเปลี่ยนตำแหน่งและชื่อของไฟล์การตั้งค่าตามสภาพแวดล้อม
สุดท้ายนี้
ครั้งนี้เป็นเหตุการณ์ที่เกิดขึ้นบน Amazon Linux 2023 แต่ก็มีโอกาสที่จะเกิดขึ้นได้ในระบบอื่นๆที่มีการอัปเดตของ OpenSSH
โดยยังสามารถเชื่อมต่อได้โดยการตั้งค่าอนุญาตให้กับ ssh-rsa
แต่อาจจะมีปัญหาด้านความปลอดภัย แนะนำให้พิจารณาเชื่อมต่อกับ rsa-sha2-256/512 จะดีกว่า
ปัจจุบัน terminal software บางตัวอาจยังไม่รองรับ rsa-sha2-256/512 ดังนั้นก่อนใช้งานแนะนำให้ตรวจสอบรายละเอียดอีกครั้ง
บทความอ้างอิง
- 'OpenSSH: RSA/SHA1 disabled by default' - MARC (English)
- OpenSSH: Release Notes (English)
- チケット #36109: rsa-sha2-256, rsa-sha2-512公開鍵アルゴリズムのサポート - Tera Term - OSDN (Japanese)
- การอนุญาต SSH สำหรับการตรวจสอบรหัสผ่านด้วย Amazon Linux 2 ใน EC2 | DevelopersIO
- วิธีการเชื่อมต่อจาก EC2 ไปยัง EC2 อื่นด้วย SSH | DevelopersIO