หากคุณใช้ Linux มาสักระยะหนึ่งแล้ว คุณคงเคยได้ยินเกี่ยวกับเครื่องมือที่เรียกว่า SSH อย่างแน่นอน Secure Shell หรือที่รู้จักกันทั่วไปในชื่อ SSH เป็นโปรโตคอลเครือข่ายสำหรับสร้างการเชื่อมต่อที่ปลอดภัยระหว่างไคลเอนต์และเซิร์ฟเวอร์ระยะไกล ได้รับการออกแบบมาเพื่อให้ผู้ใช้สามารถลงชื่อเข้าใช้คอมพิวเตอร์ประเภทต่างๆ ได้อย่างปลอดภัยจากระยะไกลผ่านเครือข่าย ที่นี่เราจะแสดงวิธีตั้งค่าและคัดลอกคีย์ SSH ไปยังเซิร์ฟเวอร์ของคุณอย่างง่ายดาย
การติดตั้ง SSH
ในการเริ่มต้น เราต้องติดตั้งเซิร์ฟเวอร์ SSH คุณสามารถค้นหาและติดตั้ง openssh-server
แพ็คเกจใน Software Center หรือตัวจัดการแพ็คเกจของคุณ หรือหากคุณอยู่บนเซิร์ฟเวอร์ (หรือเพียงแค่ต้องการใช้เทอร์มินัล) ให้เปิดเทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้:
# Ubuntu/Debian sudo apt install openssh-server # Fedora/CentOS/REHL sudo dnf install openssh-server
เปิดใช้งาน SSH ใน Linux
เมื่อติดตั้งเซิร์ฟเวอร์ OpenSSH บนเครื่องของคุณแล้ว คุณจะต้องเริ่มและเปิดใช้งาน systemd unit ในการทำเช่นนั้น คุณสามารถพิมพ์คำสั่งต่อไปนี้ลงในเทอร์มินัล:
sudo systemctl enable --now ssh
กำลังสร้างคีย์ SSH
เมื่อคุณติดตั้งเซิร์ฟเวอร์ openssh แล้ว คุณสามารถเริ่มสร้างคู่คีย์ SSH ได้ ก่อนดำเนินการต่อ ตรวจสอบให้แน่ใจว่าคุณไม่มีคู่คีย์ที่มีอยู่ เนื่องจากกระบวนการนี้จะเขียนทับคู่คีย์ที่มีอยู่
หากต้องการตรวจสอบว่าคุณมีคู่คีย์อยู่แล้วหรือไม่ ให้ใช้คำสั่ง:
ls -la ~/.ssh
หากคุณมีคู่คีย์อยู่แล้ว คำสั่งด้านบนควรแสดงไฟล์ “id_rsa” และ “id_rsa.pub”
เมื่อคุณยืนยันว่าคุณไม่มีคู่คีย์ SSH อยู่แล้ว คุณสามารถสร้างคู่คีย์ SSH ใหม่ได้ มิฉะนั้น ให้สำรองคีย์เก่าของคุณเพื่อหลีกเลี่ยงการสูญหาย
หากต้องการสร้างคีย์ใหม่ ให้ใช้คำสั่ง:
ssh-keygen -t rsa -b 4096
คำสั่งด้านบนเรียก ssh-keygen
ยูทิลิตี้เพื่อสร้างคู่คีย์ SSH แบบโต้ตอบ การใช้ -t
ตัวเลือก เราระบุประเภทคีย์ที่จะสร้าง ในกรณีนี้ เราสร้างคีย์ RSA
เรายังใช้ -b
ตัวเลือกเพื่อระบุจำนวนบิตในคีย์ หากคุณใช้คีย์ RSA ขนาดบิตต่ำสุดคือ 1024 หากไม่ระบุ ระบบจะสร้างคีย์ที่มี 3072 บิต
ควรใช้ตำแหน่งเริ่มต้นในการจัดเก็บคีย์ SSH เพื่อหลีกเลี่ยงการพิมพ์เส้นทางเมื่อเชื่อมต่อกับ SSH โดยใช้คีย์
หากคุณไม่ต้องการเข้ารหัสคีย์ด้วยข้อความรหัสผ่าน ให้กด Enter เพื่อข้าม
คัดลอกคีย์ไปยังเซิร์ฟเวอร์ระยะไกล
ตอนนี้เราได้สร้างคู่คีย์ SSH ใหม่แล้ว เราจำเป็นต้องอัปโหลดไปยังเครื่องระยะไกลที่เราต้องการจัดการ
วิธีที่มีประสิทธิภาพที่สุดในการทำเช่นนี้คือการใช้ ssh-copy-id
สั่งการ. ใช้คำสั่งดังนี้:
ssh-copy-id remote_user@remote_IP
หากคุณกำลังใช้ไฟล์คีย์ที่มีชื่อไฟล์แยกต่างหาก คุณสามารถใช้คำสั่งต่อไปนี้เพื่อระบุพาธไปยังไฟล์คีย์ได้
ssh-copy-id -i ~/.ssh/id_rsa remote_user@remote_IP
หากคุณกำลังเข้าสู่ระบบเครื่องระยะไกลเป็นครั้งแรก คุณจะต้องยอมรับลายนิ้วมือ
ถัดไป ป้อนรหัสผ่าน SSH สำหรับผู้ใช้ระยะไกล
เมื่อตรวจสอบสิทธิ์แล้ว ssh-copy-id
คำสั่งจะผนวกเนื้อหาของ id_rsa.pub
. ของคุณ คีย์ไปยังไฟล์ “~/.ssh/authorized_keys” บนเครื่องระยะไกลและปิดการเชื่อมต่อ
เข้าสู่ระบบเครื่องระยะไกล
เมื่อคุณทำตามขั้นตอนข้างต้นทั้งหมดเรียบร้อยแล้ว คุณสามารถเข้าสู่ระบบเซิร์ฟเวอร์ระยะไกลโดยไม่ต้องใช้รหัสผ่าน
คุณสามารถทดสอบได้โดยใช้คำสั่ง:
ssh remote_user@remote_ip
เว้นแต่คุณจะเปิดใช้งานข้อความรหัสผ่านสำหรับคีย์ของคุณ คุณจะเข้าสู่ระบบโดยอัตโนมัติ
คำถามที่พบบ่อย
1. SSH ปลอดภัยหรือไม่
SSH เป็นเครื่องมือรักษาความปลอดภัยที่ทรงพลังที่อนุญาตให้ผู้ใช้ที่ตรวจสอบสิทธิ์เข้าสู่ระบบระยะไกลได้ อย่างไรก็ตาม มีความปลอดภัยเท่าที่ไฟล์การกำหนดค่าอนุญาตเท่านั้น เซิร์ฟเวอร์ SSH ที่ไม่ได้กำหนดค่า/กำหนดค่าผิดพลาดอาจเสี่ยงต่อแฮกเกอร์และการเข้าถึงของบุคคลที่สามได้เช่นกัน ตรวจสอบให้แน่ใจว่าคุณได้รักษาความปลอดภัยการกำหนดค่า SSH ทันทีหลังจากติดตั้ง
2. คีย์ที่ได้รับอนุญาตของ SSH อยู่ที่ไหน
ไฟล์ SSH Author_keys เก็บไฟล์สาธารณะของผู้ใช้แต่ละรายและระบุว่าผู้ใช้รายใดได้รับอนุญาตให้เข้าสู่ระบบเซิร์ฟเวอร์ ใน Linux ไฟล์ Author_keys มักจะอยู่ในโฟลเดอร์ “.ssh” ในไดเร็กทอรีโฮมของผู้ใช้
3. ฉันจะแก้ไขปัญหาการปฏิเสธการอนุญาต ssh-copy-id ได้อย่างไร
สิ่งนี้จะเกิดขึ้นก็ต่อเมื่อคุณมีการตั้งค่าคีย์สาธารณะในเซิร์ฟเวอร์ระยะไกลของคุณแล้ว และได้ปิดใช้งานการตรวจสอบรหัสผ่าน ในการแก้ไขปัญหานี้ ก่อนอื่นให้ลงชื่อเข้าใช้เซิร์ฟเวอร์ของคุณ เปิดใช้งานการตรวจสอบรหัสผ่านในไฟล์ “/etc/ssh/sshd_config” จากนั้นเรียกใช้ ssh-copy-id
ออกคำสั่งอีกครั้ง
เมื่อคุณคัดลอกไฟล์คีย์ใหม่แล้ว อย่าลืมปิดการใช้งานตัวเลือกการตรวจสอบรหัสผ่านอีกครั้ง
บทสรุป
เมื่อคุณได้ตั้งค่าและใช้ SSH แล้ว สิ่งที่คุณควรทำต่อไปคือการรักษาความปลอดภัยการกำหนดค่า SSH หรือหากคุณใช้ Windows โปรดเรียนรู้วิธีสร้างคู่คีย์ SSH ใน Windows