เมื่อ OpenSSH เลิกรองรับกุญแจล็อกอินแบบ ssh-rsa

🧑‍💻 เมื่อ OpenSSH เลิกรองรับกุญแจล็อกอินแบบ ssh-rsa เราจะใช้ Key โพรโทคอลอะไรสำหรับ Secure Shell (SSH) และ SFTP ??

การเชื่อมต่อแบบ Secure Shell (SSH) ซึ่งเป็นโปรโตคอลเครือข่ายที่เป็นการถ่ายโอนข้อมูลอย่างปลอดภัย ไม่ว่าจะเป็น…

ssh เข้าถึงเครื่องเซิร์ฟเวอร์ปลายทาง
หรือ scp, sftp เป็นต้น

SSH ฝั่งเซิร์ฟเวอร์จะตรวจสอบสิทธิ์ของเครื่องไคลเอ็นต์ ว่าคีย์ส่วนตัวที่อยู่บนเครื่องคอมพิวเตอร์ไคลเอ็นต์และคีย์สาธารณะที่เซิร์ฟเวอร์ มีคีย์ทั้ง 2 คีย์เพื่อให้คอมพิวเตอร์เชื่อมต่อกันได้หรือไม่

ถ้ามีเครื่องไคลเอ็นต์ก็จะสามารถเชื่อมต่อเข้าเซิร์ฟเวอร์ได้โดยไม่ต้องถามรหัสผ่าน ซึ่งก็เป็นวิธีที่นิยมกันมากที่สุดในปัจจุบัน ซึ่งเป็นวิธีการล็อกอินด้วย Key Authentication (ไม่ใช่รหัสผ่าน)

วิธีการก็คือ…
เราสร้าง Key Pair ที่เครื่องไคลเอ็นต์ (เครื่องของผู้ใช้งาน)

เปิดหน้าต่างเทอร์มินัล พิมพ์คำสั่ง ssh-keygen

จะเป็นการสร้าง Key Pair เพื่อจะได้ Public Key และ Private Key ซึ่ง default ค่าเริ่มต้นมันใช้ Key โพรโทคอล RSA (RSA Version 2 มีขนาด 1024 บิต)

(มาจากคำสั่ง ssh-keygen)

ssh-keygen

default คือออปชัน -t rsa

จากนั้นเราก็ส่งไฟล์คีย์สาธารณะ id_rsa.pub
ไปยังเซิร์ฟเวอร์ของเรา หรือผู้ให้บริการ เช่น GCP, AWS หรือพาร์ทเนอร์ของคุณเพื่อเข้าถึงเซิร์ฟเวอร์คุณ

ซึ่งไฟล์ id_rsa และ id_rsa.pub จะอยู่ในไดเรกทอรี

home/<ผู้ใช้>/.ssh

หรือสิทธิ์ root ก็

/root/.ssh/

คำถามคือ เมื่อ OpenSSH เลิกสนับสนุน Key โพรโทคอล RSA
เราจะใช้ Key โพรโทคอลอะไรแทน RSA

ไม่ว่าจะเป็น Ansible, Google Cloud, Amazon AWS ล้วนใช้ SSH หรืออนาคตจะไม่มี password และ Key Authentication ?!

SSH key types

☑️ RSA (only for keys with more than 2048 bits)
☑️ ECDSA
☑️ ED25519

ECDS หรือ ED25519 คร้าบบ ???

ร่วมเติมคำในช่องว่างคร้าบบ 😀

ssh-keygen -t [KEY_TYPE]

#OpenSSH #SSH #RSA #SFTP

Scroll to top