SSH Crash Course for Beginners
สารบัญ:
- การสร้างคีย์ SSH บน Ubuntu
- คัดลอกรหัสสาธารณะไปยังเซิร์ฟเวอร์ Ubuntu
- เข้าสู่ระบบเซิร์ฟเวอร์ของคุณโดยใช้คีย์ SSH
- ปิดใช้งานการรับรองความถูกต้องรหัสผ่าน SSH
- ข้อสรุป
Secure Shell (SSH) เป็นโปรโตคอลเครือข่ายเข้ารหัสลับที่ใช้สำหรับการเชื่อมต่อที่ปลอดภัยระหว่างไคลเอนต์และเซิร์ฟเวอร์และสนับสนุนกลไกการตรวจสอบความถูกต้องต่างๆ
สองกลไกที่ได้รับความนิยมมากที่สุดคือการตรวจสอบด้วยรหัสผ่านและการตรวจสอบสิทธิ์ด้วยรหัสสาธารณะ การใช้คีย์ SSH นั้นปลอดภัยและสะดวกกว่าการรับรองความถูกต้องด้วยรหัสผ่านแบบดั้งเดิม
ในบทช่วยสอนนี้เราจะอธิบายวิธีสร้างคีย์ SSH บนเครื่อง Ubuntu 18.04 นอกจากนี้เราจะแสดงวิธีตั้งค่าการรับรองความถูกต้องโดยใช้คีย์ SSH และเชื่อมต่อกับเซิร์ฟเวอร์ Linux ระยะไกลของคุณโดยไม่ต้องป้อนรหัสผ่าน
การสร้างคีย์ SSH บน Ubuntu
ก่อนสร้างคู่คีย์ SSH ใหม่ก่อนตรวจสอบคีย์ SSH ที่มีอยู่บนเครื่องไคลเอนต์ Ubuntu ของคุณ คุณสามารถทำได้โดยการรันคำสั่ง ls ต่อไปนี้:
ls -l ~/.ssh/id_*.pub
หากคำสั่งด้านบนพิมพ์บางอย่างเช่น
No such file or directory
หรือ
no matches found
หมายความว่าคุณไม่มีคีย์ SSH ในเครื่องไคลเอ็นต์ของคุณและคุณสามารถดำเนินการในขั้นตอนต่อไปและสร้างคู่คีย์ SSH
หากมีคีย์ที่มีอยู่คุณสามารถใช้และข้ามขั้นตอนถัดไปหรือสำรองคีย์เก่าและสร้างคีย์ใหม่
สร้างคู่คีย์ SSH 4096 บิตใหม่พร้อมที่อยู่อีเมลของคุณเป็นความคิดเห็นโดยพิมพ์:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
ผลลัพธ์จะมีลักษณะดังนี้:
Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):
กด
Enter
เพื่อยอมรับตำแหน่งไฟล์เริ่มต้นและชื่อไฟล์
ถัดไปคุณจะได้รับแจ้งให้พิมพ์รหัสผ่านที่ปลอดภัย ไม่ว่าคุณต้องการใช้ข้อความรหัสผ่านหรือไม่นั้นขึ้นอยู่กับคุณ หากคุณเลือกใช้ข้อความรหัสผ่านคุณจะได้รับความปลอดภัยเพิ่มอีกชั้น
Enter passphrase (empty for no passphrase):
การโต้ตอบทั้งหมดมีลักษณะดังนี้:
หากต้องการตรวจสอบว่าได้สร้างคู่คีย์ SSH ใหม่แล้วให้พิมพ์:
ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub
คัดลอกรหัสสาธารณะไปยังเซิร์ฟเวอร์ Ubuntu
เมื่อคุณสร้างคู่คีย์ SSH ของคุณแล้วขั้นตอนต่อไปคือการคัดลอกกุญแจสาธารณะไปยังเซิร์ฟเวอร์ที่คุณต้องการจัดการ
วิธีที่ง่ายที่สุดและวิธีที่แนะนำในการคัดลอกกุญแจสาธารณะของคุณไปยังเซิร์ฟเวอร์คือการใช้ยูทิลิตีที่เรียกว่า
ssh-copy-id
บนเครื่องเทอร์มินัลประเภทเครื่องของคุณ:
ssh-copy-id remote_username@server_ip_address
คุณจะได้รับแจ้งให้ป้อนรหัสผ่าน
remote_username
:
remote_username@server_ip_address's password:
เมื่อผู้ใช้ได้รับการรับรองความถูกต้องแล้วกุญแจสาธารณะ
~/.ssh/id_rsa.pub
จะถูกผนวกเข้ากับผู้ใช้ระยะไกลไฟล์
~/.ssh/authorized_keys
และการเชื่อมต่อจะถูกปิด
Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@server_ip_address'" and check to make sure that only the key(s) you wanted were added.
หากด้วยเหตุผลบางประการยูทิลิตี
ssh-copy-id
ไม่สามารถใช้งานได้ในคอมพิวเตอร์ของคุณคุณสามารถใช้คำสั่งต่อไปนี้เพื่อคัดลอกกุญแจสาธารณะ:
cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
เข้าสู่ระบบเซิร์ฟเวอร์ของคุณโดยใช้คีย์ SSH
หลังจากทำตามขั้นตอนข้างต้นแล้วคุณควรจะสามารถเข้าสู่เซิร์ฟเวอร์ระยะไกลได้โดยไม่ต้องใส่รหัสผ่าน
หากต้องการทดสอบลองลงชื่อเข้าใช้เซิร์ฟเวอร์ของคุณผ่าน SSH:
ssh remote_username@server_ip_address
ปิดใช้งานการรับรองความถูกต้องรหัสผ่าน SSH
การปิดใช้งานการพิสูจน์ตัวตนด้วยรหัสผ่านเป็นการเพิ่มระดับความปลอดภัยให้กับเซิร์ฟเวอร์ของคุณ
ก่อนปิดใช้งานการรับรองความถูกต้องรหัสผ่าน SSH ตรวจสอบให้แน่ใจว่าคุณสามารถเข้าสู่เซิร์ฟเวอร์ของคุณโดยไม่ต้องใช้รหัสผ่านและผู้ใช้ที่คุณกำลังเข้าสู่ระบบด้วยสิทธิ์ sudo
เข้าสู่ระบบเซิร์ฟเวอร์ระยะไกลของคุณ:
ssh sudo_user@server_ip_address
เปิดไฟล์คอนฟิกูเรชัน SSH
/etc/ssh/sshd_config
ด้วยโปรแกรมแก้ไขข้อความของคุณ:
sudo nano /etc/ssh/sshd_config
ค้นหาคำสั่งต่อไปนี้และแก้ไขดังต่อไปนี้:
/ etc / SSH / sshd_config
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
เมื่อเสร็จแล้วให้บันทึกไฟล์และเริ่มบริการ SSH ใหม่โดยพิมพ์:
sudo systemctl restart ssh
ณ จุดนี้การรับรองความถูกต้องโดยใช้รหัสผ่านถูกปิดใช้งาน
ข้อสรุป
ในบทช่วยสอนนี้คุณได้เรียนรู้วิธีสร้างคู่คีย์ SSH ใหม่และตั้งค่าการรับรองความถูกต้องโดยใช้คีย์ SSH คุณสามารถเพิ่มรหัสเดียวกันในหลาย ๆ เซิร์ฟเวอร์ระยะไกล นอกจากนี้เรายังแสดงวิธีปิดการใช้งานการตรวจสอบรหัสผ่าน SSH และเพิ่มความปลอดภัยให้กับเซิร์ฟเวอร์ของคุณ
โดยค่าเริ่มต้น SSH จะฟังพอร์ต 22 การเปลี่ยนพอร์ต SSH เริ่มต้นจะลดความเสี่ยงของการโจมตีอัตโนมัติ
ความปลอดภัยของ UbuntuMicrosoft Tweaks Ad หลังจากที่ Apple บ่น

เรื่องราว "Laptop Hunter" ยังคงมีน้อยลงเล็กน้อย Apple-bashing
วิธีการตั้งค่าปุ่ม ssh บน centos 7

บทช่วยสอนนี้อธิบายวิธีสร้างคีย์ SSH บนระบบ CentOS 7 นอกจากนี้เราจะแสดงวิธีตั้งค่าการรับรองความถูกต้องโดยใช้คีย์ SSH และเชื่อมต่อกับเซิร์ฟเวอร์ Linux ระยะไกลของคุณโดยไม่ต้องป้อนรหัสผ่าน
วิธีการตั้งค่าปุ่ม ssh บนเดเบียน 9

ในบทช่วยสอนนี้เราจะอธิบายวิธีสร้างคีย์ SSH บนระบบ Debian 9 นอกจากนี้เราจะแสดงวิธีตั้งค่าการรับรองความถูกต้องโดยใช้คีย์ SSH และเชื่อมต่อกับเซิร์ฟเวอร์ Linux ระยะไกลของคุณโดยไม่ต้องป้อนรหัสผ่าน