วิธีการติดตั้งและตั้งค่าเซิร์ฟเวอร์ SSH ใน Debian ลินุกซ์?

การติดตั้งและการทดสอบ SSH เซิร์ฟเวอร์

คุณจะต้องมีรากที่จะทำต่อไปนี้…

su

  1. ติดตั้งเซิร์ฟเวอร์ SSH

    apt install openssh-server
     

  2. ตรวจสอบว่ากระบวนการเซิร์ฟเวอร์ที่มีอยู่. นี้แสดงให้เห็นถึงการติดตั้งเป็นไปด้วยดี.

    ps -A | grep sshd

    เอาท์พุต (หรือคล้ายกัน): 1753 ? 00:00:00 sshd

     

  3. ติดตั้งโปรแกรม SSH เพื่อตรวจสอบการเชื่อมต่อเซิร์ฟเวอร์ SSH

    apt install openssh-client

    เชื่อมต่อไปยัง localhost เพื่อทดสอบการเชื่อมต่อ

    ssh localhost

    นอกจากนี้ยังเข้าสู่ระบบด้วยที่อยู่ IP อินเตอร์เฟซ

    ได้รับที่อยู่ IP

    ip addr

    SSH เพื่อที่อยู่ IP

    ssh {ipaddress here}
     

การรักษาความปลอดภัย SSH เซิร์ฟเวอร์

มันเป็นความคิดที่ดีในการรักษาความปลอดภัยเซิร์ฟเวอร์ SSH โดยไม่อนุญาตให้รากเข้าสู่ระบบและการกำหนดค่าการเข้าสู่ระบบโดยเฉพาะนั่นคือกุญแจสาธารณะ. เข้าสู่ระบบโดยใช้รหัสผ่านไม่ได้รับอนุญาต

ตรวจสอบให้แน่ใจเพื่อรันคำสั่งต่อไปนี้เป็นผู้ใช้ของคุณและไม่เป็นราก

  1. ไปที่บ้านของผู้ใช้

    cd
     

  2. ตรวจสอบว่ามีอยู่ .ssh

    ls -a
     

  3. หาก .ssh ไม่อยู่, สร้างมันขึ้นมา

    mkdir .ssh
     

  4. ตั้งค่าสิทธิ์โฟลเดอร์ 700

    chmod 700 .ssh
     

  5. สร้างแฟ้ม authorized_keys

    touch ./.ssh/authorized_keys
     

  6. เปลี่ยนการอนุญาตบนไฟล์ authorized_keys ไป 600

    chmod 600 ./.ssh/authorized_keys
     

  7. เปิดแฟ้ม authorized_keys

    nano ./.ssh/authorized_keys
     

  8. วางกุญแจสาธารณะของคุณลงในแฟ้ม

    คุณจะได้รับกุญแจสาธารณะของคุณจากลูกค้า SSH. If the client is Windows 10 แล้วมันจะอยู่ใน %USERPROFILE%/.ssh/id_rsa.pub ไฟล์. If the client is Debian then the public key is ~/.ssh/id_rsa.pub.

    ถ้าคีย์สาธารณะของคุณไม่อยู่, สร้างบนเครื่องไคลเอ็นต์

    ssh-keygen -t rsa -C "email@domain.com"
     

  9. เปลี่ยนให้กับผู้ใช้ราก

    su

  10. กำหนดค่าเซิร์ฟเวอร์ SSH ของคุณเพื่อยอมรับเฉพาะการเข้าสู่ระบบคีย์สาธารณะและป้องกันการเข้าสู่ระบบสำหรับราก

    nano /etc/ssh/sshd_config

    uncomment และ / หรือแก้ไขบรรทัดต่อไปนี้

    PermitRootLogin no
    StrictModes yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
    PasswordAuthentication no
     

  11. เริ่มบริการ sshd

    service sshd restart
     

  12. ลองเข้าระบบเป็นรากจากลูกค้า SSH ของคุณโดยใช้รหัสผ่าน

    ssh root@{ssh server ip address}

    เอาท์พุต: Permission denied (publickey).

     

  13. ลองเข้าสู่ระบบชื่อผู้ใช้จากลูกค้า SSH ของคุณโดยใช้รหัสผ่าน

    ssh username@{ssh server ip address}

    เอาท์พุต: Permission denied (publickey).

     

  14. ลองเข้าระบบเป็นรากจากลูกค้า SSH ของคุณโดยใช้คีย์สาธารณะ

    ssh root@{ssh server ip address} -i .ssh/id_rsa

    เอาท์พุต: Permission denied (publickey).

     

  15. เข้าสู่ระบบโดยใช้ชื่อผู้ใช้จากลูกค้า SSH ของคุณโดยใช้คีย์สาธารณะ

    ssh username@{ssh server ip address} -i .ssh/id_rsa
     

หากลูกค้า SSH ของคุณมีที่อยู่ IP แบบคงที่แล้วคุณอาจต้องการที่จะต้องพิจารณาเฉพาะที่อยู่ IP ของคุณสามารถเข้าสู่ระบบเซิร์ฟเวอร์ SSH.