Android

วิธีการตั้งค่าปุ่ม ssh บน centos 7

Mail Server In CentOS 7 with Postfix, Dovecot & Squirrel Mail

Mail Server In CentOS 7 with Postfix, Dovecot & Squirrel Mail

สารบัญ:

Anonim

Secure Shell (SSH) เป็นโปรโตคอลเครือข่ายเข้ารหัสลับที่ออกแบบมาสำหรับการเชื่อมต่อที่ปลอดภัยระหว่างไคลเอนต์และเซิร์ฟเวอร์

กลไกการพิสูจน์ตัวตน SSH ที่นิยมมากที่สุดสองวิธีคือการพิสูจน์ตัวตนด้วยรหัสผ่านและการพิสูจน์ตัวตนด้วยรหัสสาธารณะ การใช้คีย์ SSH นั้นปลอดภัยและสะดวกกว่าการตรวจสอบรหัสผ่านแบบดั้งเดิม

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

การสร้างคีย์ SSH บน CentOS

ก่อนที่จะสร้างคู่คีย์ SSH ใหม่คุณควรตรวจสอบคีย์ SSH ที่มีอยู่ในเครื่องไคลเอนต์ CentOS ของคุณ

หากต้องการทำเช่นนั้นให้รันคำสั่ง 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

คัดลอกรหัสสาธารณะไปยังเซิร์ฟเวอร์ CentOS

หลังจากที่สร้างคู่คีย์ 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:

  1. เข้าสู่ระบบเซิร์ฟเวอร์ระยะไกลของคุณ:

    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 เริ่มต้นลดความเสี่ยงของการโจมตีอัตโนมัติ

การรักษาความปลอดภัย centos ssh