0917212969

Hướng dẫn đổi port ssh và tạo ssh key để đăng nhập vào server

Việt SEO Ngày đăng: 782
Khi bạn có một máy chủ mới, bạn cần đổi port SSH để bảo mật hơn. Việc sử dụng SSH key giúp tăng cường bảo mật trong các kết nối từ xa bởi vì khó bị đoán hoặc bẻ khóa hơn mật khẩu, giảm nguy cơ tấn công "man-in-the-middle", tự động hóa và tiện lợi. Việc sử dụng SSH key là một phần quan trọng trong việc bảo mật kết nối và truyền dữ liệu trong môi trường mạng ngày nay. Việt SEO luôn khuyến khích việc áp dụng các biện pháp bảo mật mạnh mẽ này để đảm bảo an toàn cho hệ thống và dữ liệu của bạn.

Khi dùng SSH key sẽ nhanh hơn và bảo mật hơn là bạn nhập mật khẩu. Sau đăng là 3 bước cơ bản để để bạn thực hiện.

A. Đổi port SSH

Bước 1: SSH vào server với quyền root.

Bước 2: Thay đổi số port trên file sshd_config
Chạy lệnh:

Đổi port SSH


Bước 3:
Save lại và restart lại SSH bằng lệnh:

(hoặc các lệnh tương ứng)

Bước 4: Mở port ssh mới cho csf (nếu có)

Thêm port ssh vào csf như hình
Thêm port SSH vào CSF

Lưu file và thoát csf.conf
Restart lại csf bằng lệnh

B. Tạo SSH key

SSH key (Secure Shell key) là một phương tiện xác thực dựa trên mã hóa dùng trong giao thức SSH (Secure Shell) để an toàn kết nối và truyền dữ liệu giữa máy khách và máy chủ.

SSH key hoạt động dựa trên cơ sở của mã hóa khóa công khai (public key cryptography). Một cặp SSH key bao gồm hai khóa: Khóa công khai (Public Key) và Khóa riêng tư (Private Key)

Bước 1: Tạo 2 khóa Public Key và Private Key bằng phần mềm Putty Key Generator

Tạo 2 khóa Public Key và Private Key  bằng phần mềm Putty Key Generator

Lưu giữ 2 khóa public key và private key này cẩn thận.

Bước 2: Tạo file authorized_keys để lưu trữ public key ở server.

- Chạy lệnh

- Copy nội dung public key vào "authorized_keys", đảm bảo là đã copy toàn bộ nội dung của public key. Sau đó lưu "authorized_keys" và thoát file.

Bước 3: Cấu hình sshd_config

Sau khi sử dụng public key và private key. Bạn nên mởi các lệnh sau cho file SSH Config:

PermitRootLogin prohibit-password
PasswordAuthentication no
PubkeyAuthentication yes
RSAAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
AuthorizedKeysCommand none
AuthorizedKeysCommandRunAs nobody


(Có VPS có sẵn các thuộc tính này nên không cần thêm vào)

Lưu và thoát sshd_config
Restart lại SSH

C. Dùng SSH key để đăng nhập server

Để sử dụng SSH Key truy cập server, các bạn dùng các phần mềm SSH như PuTTy, Bitvise... Trong bài viết này, tôi dùng phần mềm Putty.
Mở ứng dụng Putty, điền các thông tin như IP, Port..Ví dụ bạn dùng root@11.22.33.14 là bạn đang muốn đăng nhập cho user "root" vào IP 11.22.33.14


Dùng SSH key để đăng nhập server


Sau đó, bạn vào Connection -> SSH -> Auth như hình

Nhập thông tin cho private key

Cuối cùng, bạn bấm vào "open" để mở kết nối.

D. Đối với các VPS mới sử dụng ALmaLinux thì:

1. Các bước chuẩn tạo key trong PuTTYgen

1️⃣ Chọn loại key:

Trong phần Parameters (góc dưới cửa sổ)

→ Chọn EdDSA (tức là Ed25519).

(Đây là loại key bảo mật và tương thích nhất với OpenSSH 8+ và AlmaLinux 9–10.)

2️⃣ Nhấn Generate

→ Di chuột qua vùng trống cho đến khi thanh tiến trình hoàn tất.

3️⃣ Điền thông tin:

  • Key comment: bạn đặt gì cũng được, ví dụ root@myvps
  • Key passphrase:
    • Nếu muốn bảo mật hơn, nhập mật khẩu (sẽ cần khi kết nối).
    • Nếu muốn đăng nhập tự động, để trống.

4️⃣ Lưu key:

  • Nhấn Save private key → lưu file .ppk (dành cho PuTTY).
  • Nhấn Save public key → lưu file .pub (để copy lên server).

5️⃣ Copy public key dạng OpenSSH:

Ở khung phía trên cùng (“Public key for pasting into OpenSSH authorized_keys file”),

Copy toàn bộ dòng (bắt đầu bằng ssh-ed25519 AAAA... comment)

→ Dán lên server bằng lệnh:

sudo mkdir -p /root/.ssh
sudo chmod 700 /root/.ssh
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI..." | sudo tee -a /root/.ssh/authorized_keys
sudo chmod 600 /root/.ssh/authorized_keys
sudo chown root:root /root/.ssh /root/.ssh/authorized_keys
sudo restorecon -Rv /root/.ssh 2>/dev/null || true
sudo systemctl restart sshd

6️⃣ Cấu hình PuTTY để dùng key

  • Mở PuTTY → Connection → SSH → Auth

    → Chọn Private key file for authentication → chọn file .ppk bạn vừa lưu.

  • (Tùy chọn) Session → Save để lần sau chỉ cần double-click là kết nối.

✅ Kết quả:

Lần tới bạn mở PuTTY, đăng nhập root@ip, server sẽ nhận dạng bằng key Ed25519,

→ Không cần nhập mật khẩu root nữa

→ Không còn lỗi “Server refused our key” hoặc “RSAAuthentication deprecated”.

2. Cách chuyển kiểu SSH2 (RFC4716) sang OpenSSH 1 dòng

Hiện tại định dạng bạn copy là kiểu SSH2 (RFC4716), còn AlmaLinux (OpenSSH) yêu cầu định dạng OpenSSH 1 dòng.

Vì vậy phải chuyển đổi từ SSH2 → OpenSSH trước khi dán vào /root/.ssh/authorized_keys.

Chuyển bằng PuTTYgen (cách đơn giản nhất trên Windows)

1️⃣ Mở lại PuTTYgen

2️⃣ Nhấn Load → chọn file .ppk bạn đã lưu

3️⃣ Nhìn lên khung trên cùng “Public key for pasting into OpenSSH authorized_keys file”

→ Copy toàn bộ dòng đó (bắt đầu bằng ssh-ed25519 AAAA... root@103.7.41.153)

4️⃣ Dán dòng đó lên server:

sudo mkdir -p /root/.ssh
sudo chmod 700 /root/.ssh
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJqKn+olZJLwwINcAsMrsduv+9uTBV50jSD0aMbwvzyK root@103.7.41.153" | sudo tee -a /root/.ssh/authorized_keys
sudo chmod 600 /root/.ssh/authorized_keys
sudo chown root:root /root/.ssh /root/.ssh/authorized_keys
sudo restorecon -Rv /root/.ssh 2>/dev/null || true
sudo systemctl restart sshd

⚠️ Không copy phần ---- BEGIN SSH2 ... / END SSH2 — chỉ dùng một dòng bắt đầu bằng ssh-ed25519 thôi.

✅ Kết quả mong đợi

Sau khi xong:

  • File /root/.ssh/authorized_keys chứa dòng dạng:

    ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJqKn+olZJLwwINcAsMrsduv+9uTBV50jSD0aMbwvzyK root@103.7.41.153
    
  • PuTTY cấu hình dùng file .ppk tương ứng.
  • Giờ bạn kết nối sẽ không cần nhập mật khẩu root nữa 🎉

Xem thêm bài viết: Thủ thuật và kinh nghiệp về web và SEO

Chia sẻ:
Bài viết liên quan