[Học Linux A-Z] Hướng dẫn tạo và sử dụng SSH Key để bảo mật máy chủ

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ก.ย. 2024
  • Một trong các phương thức đăng nhập vào VPS khá an toàn đó là việc sử dụng SSH Key để thay thế cho mật khẩu. Mặc định mỗi VPS bạn sẽ đăng nhập vào bằng username root và mật khẩu root mà nhà cung cấp đã gửi cho bạn lúc thuê VPS, tuy nhiên việc sử dụng mật khẩu luôn có 2 nguy cơ lớn là:
    Bạn sẽ mất hoàn toàn nếu lộ mật khẩu.
    Các attacker có thể sử dụng Brute Force Attack để dò tìm mật khẩu.
    Do đó, mình khuyến khích các bạn làm quen với SSH Key để đăng nhập vào VPS, cũng như sử dụng nó để xác thực các kết nối từ bên ngoài vào cho an toàn hơn.
    1. Cách thức hoạt động của SSH Key
    SSH Key bạn cứ hiểu đơn giản là một phương thức chứng thực người dùng truy cập bằng cách đối chiếu giữa một key cá nhân (Private Key) và key công khai(Public Key).
    Private key và Public key luôn có liên hệ chặt chẽ với nhau để nó có thể nhận diện lẫn nhau. Mình nói vậy cho bạn dễ hình dung nhé, khi tạo một SSH Key thì bạn sẽ có cả 2 loại key này. Sau đó bạn mang cái public key bỏ lên máy chủ của bạn, còn cái private key bạn sẽ lưu ở máy và khi đăng nhập vào server, bạn sẽ gửi yêu cầu đăng nhập kèm theo cái Private Key này để gửi tín hiệu đến server, server sẽ kiểm tra xem cái Private key của bạn có khớp với Public key có trên server hay không, nếu có thì bạn sẽ đăng nhập được.
    Nội dung giữa Private Key và Public Key hoàn toàn khác nhau, nhưng nó vẫn sẽ nhận diện được với nhau thông qua một thuật toán riêng của nó.
    Bạn cứ hình dung Private Key là chìa khóa, còn Public Key là ổ khóa. Một khi chìa khóa mà vừa khít với ổ khóa thì cửa sẽ được mở, thế thôi.
    2. Thành phần chính của một SSH Key
    Khi tạo ra một SSH Key, bạn cần biết sẽ có 3 thành phần quan trọng như sau:
    Public Key (dạng file và string) - Bạn sẽ copy ký tự key này sẽ bỏ vào file ~/.ssh/authorized_keys trên server của bạn.
    Private Key (dạng file và string) - Bạn sẽ lưu file này vào máy tính, sau đó sẽ thiết lập cho PuTTY, WinSCP, MobaXterm,..để có thể login.
    Keypharse (dạng string, cần ghi nhớ) - Mật khẩu để mở private key, khi đăng nhập vào server nó sẽ hỏi cái này.
    Và một SSH Key bạn có thể sử dụng cho nhiều server khác nhau.

ความคิดเห็น • 8

  • @baohoang2189
    @baohoang2189 3 ปีที่แล้ว

    Anh cho em hỏi nếu nhiều người dùng cùng VPS thì mỗi người 1 cặp key thì sửa file /etc/ssh/sshd.conf thêm các dòng AuthorizedKeyFile trỏ đến các đường dẫn khác nhau ạ.

  • @gg-yang-2314
    @gg-yang-2314 6 หลายเดือนก่อน +2

    [root@abc-vt01 ~]# mkdir ~/.ssh
    mkdir: cannot create directory ‘/root/.ssh’: File exists
    Chào Thầy, khi dùng lệnh trên thì xuất hiện lỗi ntn, thầy hướng dẫn fix với ạ

    • @gg-yang-2314
      @gg-yang-2314 6 หลายเดือนก่อน

      Em biết lỗi rồi ạ, em fix được rồi ạ

  • @vietvinhnguyen1364
    @vietvinhnguyen1364 3 ปีที่แล้ว

    ad ơi cho e hỏi, e có 2 laptop cài windows 1 và 2 trong 1 mạng. e đã cài openSSH trên cả 2 con, đồng thời add rule port 22 và start openSSH server trong services, nhưng kết quả là e chỉ ssh được từ laptop 1 sang laptop 2 mà không thể ssh từ laptop 2 về laptop 1. có phải là e đang config thiếu gì không ạ, hay là trên laptop 1 đang có config cái gì để chặn ko cho phép laptop khác ssh vào ko ạ? em cám ơn!!

    • @mctcongdd
      @mctcongdd  3 ปีที่แล้ว

      Bạn kiểm tra file config ssh coi nhé, có thể đang cho phép 1ip truy cập :D

  • @vinhquocdao3056
    @vinhquocdao3056 4 ปีที่แล้ว

    Chào Ad, anh cho em hỏi phần mềm anh đang kết nối với máy chủ Linux là phần mềm gì vậy ạ, ngoài Putty.