Skip to content

SSH Keys ​

Thông thường bạn đăng nhập VPS bằng tài khoản root và mật khẩu do nhà cung cấp gửi. Mật khẩu có hai rủi ro lớn: lộ mật khẩu là mất toàn quyền máy chủ, và kẻ tấn công có thể dò mật khẩu (brute force). Vì vậy, trên mọi máy chủ kết nối với FlashPanel, đăng nhập SSH bằng mật khẩu bị tắt theo mặc định; bạn đăng nhập bằng SSH Key.

SSH Key là gì? ​

SSH Key là một cặp khóa dùng thay mật khẩu khi đăng nhập SSH:

  • Private key (khóa bí mật): giữ trên máy tính của bạn, tuyệt đối không chia sẻ.
  • Public key (khóa công khai): một dòng văn bản bắt đầu bằng ssh-ed25519 ... hoặc ssh-rsa ..., được thêm vào máy chủ.

Khi đăng nhập, máy chủ kiểm tra máy tính của bạn có giữ private key khớp với public key đã thêm hay không. Chỉ ai có private key mới đăng nhập được.

Một số phần mềm trên Windows (PuTTY, WinSCP, một số công cụ quản lý cơ sở dữ liệu) cần private key ở định dạng PuTTY (.ppk), còn lệnh ssh và phần lớn công cụ khác dùng định dạng OpenSSH. Hướng dẫn bên dưới chỉ cách tạo cả hai.

Tạo SSH Key ​

Cách nhanh: tạo ngay trong FlashPanel (mọi hệ điều hành) ​

  1. Mở trang SSH Keys và bấm Thêm SSH Key.
  2. Trong hộp thoại, bấm Tạo ngẫu nhiên SSH Key. FlashPanel điền sẵn Name và Public key.
  3. Tải về cả 3 tệp bằng các nút OpenSSH Key, PuTTY Key (.ppk) và Public Key (.pub), rồi cất giữ cẩn thận.
  4. Bấm Thêm SSH Key để lưu.

WARNING

Private key chỉ được cấp một lần. Nếu đóng hộp thoại mà chưa tải về, bạn phải tạo khóa mới.

Khóa thêm ở trang này là SSH Key toàn cục: tự động được thêm vào mọi máy chủ mới bạn tạo.

Windows ​

Dùng PowerShell (định dạng OpenSSH)

Windows 10 (bản 1809 trở lên) và Windows 11 thường có sẵn OpenSSH Client. Nếu lệnh ssh-keygen báo không tìm thấy, mở Settings > System > Optional features (Windows 10: Settings > Apps > Optional features), bấm Add a feature (hoặc View features), tìm OpenSSH Client và bấm Install.

  1. Mở PowerShell và chạy:

    powershell
    ssh-keygen -t ed25519

    Bấm Enter để lưu ở vị trí mặc định. Có thể nhập passphrase để bảo vệ private key, hoặc bấm Enter để bỏ qua.

  2. Lệnh tạo private key id_ed25519 và public key id_ed25519.pub trong thư mục C:\Users\<tên-bạn>\.ssh\. Xem public key để sao chép:

    powershell
    Get-Content "$env:USERPROFILE\.ssh\id_ed25519.pub"

Dùng PuTTYgen (định dạng PuTTY .ppk)

  1. Cài PuTTY rồi mở PuTTYgen.
  2. Ở mục Type of key to generate, chọn EdDSA (Ed25519) hoặc RSA (2048 bit trở lên).
  3. Bấm Generate và di chuyển chuột ngẫu nhiên trong vùng trống của cửa sổ cho đến khi tạo xong.
  4. (Không bắt buộc) Nhập mật khẩu cho private key ở Key passphrase và Confirm passphrase.
  5. Bấm Save private key để lưu tệp .ppk.
  6. Sao chép toàn bộ nội dung ô Public key for pasting into OpenSSH authorized_keys file (bắt đầu bằng ssh-ed25519 hoặc ssh-rsa). Đây là public key để thêm vào FlashPanel.

Nếu cần thêm private key định dạng OpenSSH, chọn menu Conversions > Export OpenSSH key.

macOS ​

  1. Mở Terminal và chạy:

    bash
    ssh-keygen -t ed25519

    Bấm Enter để lưu ở vị trí mặc định (~/.ssh/id_ed25519), rồi nhập passphrase hoặc bấm Enter để bỏ qua.

  2. Sao chép public key vào clipboard:

    bash
    pbcopy < ~/.ssh/id_ed25519.pub

Nếu cần private key định dạng PuTTY (.ppk), cài công cụ puttygen bằng Homebrew rồi chuyển đổi:

bash
brew install putty
puttygen ~/.ssh/id_ed25519 -o ~/.ssh/id_ed25519.ppk

Linux ​

  1. Mở terminal và chạy (nếu chưa có ssh-keygen, cài bằng sudo apt install openssh-client):

    bash
    ssh-keygen -t ed25519

    Bấm Enter để lưu ở vị trí mặc định (~/.ssh/id_ed25519), rồi nhập passphrase hoặc bấm Enter để bỏ qua.

  2. Xem public key để sao chép:

    bash
    cat ~/.ssh/id_ed25519.pub

Nếu cần private key định dạng PuTTY (.ppk):

bash
sudo apt install putty-tools
puttygen ~/.ssh/id_ed25519 -o ~/.ssh/id_ed25519.ppk

Lưu ý về loại khóa ​

  • Ed25519 ngắn, nhanh và an toàn, được khuyến nghị cho hầu hết trường hợp.

  • Nếu phần mềm bạn dùng không hỗ trợ Ed25519, tạo khóa RSA:

    bash
    ssh-keygen -t rsa -b 4096 -m PEM
  • Nếu phần mềm cũ (PuTTY, WinSCP bản cũ) không mở được tệp .ppk, chuyển đổi với định dạng PPK version 2: thêm --ppk-param version=2 vào lệnh puttygen, hoặc trong PuTTYgen chọn Key > Parameters for saving key files... > PPK file version = 2 trước khi lưu.

Dùng SSH Key với FlashPanel ​

Sau khi có public key, thêm nó vào FlashPanel theo một trong hai cách:

  • SSH Key toàn cục: gắn với tài khoản của bạn, tự động được thêm vào mọi máy chủ mới.
  • SSH Keys trên máy chủ: thêm cho một người dùng hệ thống cụ thể trên một máy chủ đang có.

Sau đó đăng nhập bằng private key tương ứng, ví dụ:

bash
ssh -i ~/.ssh/id_ed25519 flashpanel@IP-máy-chủ

Server SSH Key ​

Ngoài SSH Key của bạn, mỗi máy chủ còn có một cặp khóa SSH riêng do FlashPanel tạo khi cài đặt. Khóa này dùng để máy chủ kéo mã nguồn từ kho Git riêng tư (GitHub, GitLab, Bitbucket...), ví dụ khi triển khai website.

Để thêm khóa công khai của máy chủ vào tài khoản Git:

  1. Mở trang Trang chủ của máy chủ, trong nhóm Tiện ích bấm Thêm Server SSH Key.
  2. Chọn các tài khoản Git đã kết nối rồi bấm Gửi.
  3. Với nhà cung cấp không hỗ trợ thêm tự động, bấm nút sao chép Server Global SSH Key và tự thêm vào trang quản lý SSH key của nhà cung cấp theo đường dẫn được gợi ý.