Giờ đầu tiên sau khi nhận VPS: Hướng dẫn khởi tạo từ máy trống đến an toàn và dùng được ngay (làm OpenClaw của bạn an toàn hơn)
VPS mới mua giống như một cánh cửa chưa khóa vậy, script kiddies khắp thế giới đang gõ cửa bài bài. Bài viết này sẽ hướng dẫn bạn khóa cửa cẩn thận, để con “tôm hùm” (openclaw) của bạn không lo chạy nhảy lung tung nữa.
0. Nói trước đã
Vừa sắm một con VPS, háo hức nhận được IP và mật khẩu root, rồi sao tiếp?
Nhiều bạn的做法 là: cài phần mềm、deploy project luôn.
这是个危险的习惯。
VPS của bạn có một public IP, nghĩa là bất kỳ ai trên thế giới cũng có thể thử kết nối vào. Mà trong cấu hình mặc định thì:
- Port đang mở công khai là 22
- Username ai cũng biết là root
- Chỉ còn mỗi cái password bảo vệ bạn thôi
Ngày nào cũng có vô số script tự động quét các dải IP, thử brute-force bằng các mật khẩu phổ biến. Server của bạn từ lúc lên mạng là đã bị tấn công rồi.
Cho nên, việc đầu tiên cần làm sau khi nhận VPS không phải là cài phần mềm, mà là làm security init.
1. Mục tiêu kỳ vọng
Mục tiêu của bài viết này là:
- ✅ Thiết lập truy cập từ xa an toàn: đăng nhập bằng SSH key + đổi port mặc định
- ✅ Tạo user thông thường: hạn chế dùng thẳng tài khoản root
- ✅ Cấu hình firewall: chỉ mở những port thực sự cần thiết
- ✅ Bật tăng tốc mạng: BBR giúp mạng bay lượn
- ✅ Chống brute-force: fail2ban tự động ban IP độc hại
Làm xong mấy bước này, VPS của bạn sẽ có một nền tảng vững chắc, tha hồ deploy đủ thứ service mà không lo.
2. Lên kế hoạch
Tại sao phải làm mấy bước cấu hình này?
VPS mới mua giống như một căn nhà thô vừa bàn giao vậy:
| Trạng thái mặc định | Rủi ro | Giải pháp của chúng ta |
|---|---|---|
| Đăng nhập trực tiếp bằng user root | Quyền quá lớn, sai một thao tác là hậu quả nặng | Tạo user thường + sudo |
| Đăng nhập bằng mật khẩu | Dễ bị dò mật khẩu (brute-force) | Đăng nhập bằng SSH key |
| Mặc định dùng port 22 | Bị scanner quét tới tấp | Đổi sang port không chuẩn |
| Tường lửa tắt | Mọi port đều mở ngỏ cho bên ngoài | Dùng UFW, chỉ mở port cần thiết |
| Mạng gốc | Tỷ lệ rớt gói tin cao, độ trễ lớn | Thuật toán kiểm soát tắc nghẽn BBR |
Toàn bộ quy trình

Chúng ta cứ thao tác theo đúng thứ tự này, mình sẽ giải thích rõ “tại sao phải làm thế” ở từng bước một.
3. Các bước thao tác
3.1 Lần đầu đăng nhập và cập nhật hệ thống
Lấy IP của server
Sau khi mua VPS, nhà cung cấp sẽ gửi cho bạn:
- Địa chỉ IP: ví dụ
192.168.1.100 - Port: thường là
22(một số nhà cung cấp có thể đổi sang port khác) - Username: thường là
root - Password: một chuỗi ký tự được tạo ngẫu nhiên

Kết nối SSH
Dân dùng Mac / Linux: mở Terminal lên, gõ thẳng lệnh này vào:
1 | ssh root@你的服务器IP |
Dân dùng Windows:
- Windows 10/11 đã có sẵn OpenSSH, bạn dùng lệnh trên trực tiếp trong PowerShell hoặc CMD luôn
- Hoặc xài mấy tool như Termius, MobaXterm cũng được
Lần đầu kết nối nó sẽ hỏi bạn xác nhận fingerprint:
1 | The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established. |
Nó đang hỏi: “Tao chưa quen con máy này, mày chắc chắn muốn kết nối chứ?”
Gõ yes rồi Enter. Tiếp theo nhập password vào (lưu ý: lúc gõ sẽ không hiện ký tự nào hết, đây là cơ chế bảo mật bình thường nhé), rồi Enter.

Thấy dòng thông báo kiểu thế này là login thành công rồi:
1 | Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.x.x-x-generic x86_64) |
💡 Tại sao phải kiểm tra fingerprint?
Đây là để phòng tránh “tấn công trung gian” (Man-in-the-Middle). Lần đầu kết nối bạn ghi lại fingerprint của server, về sau nếu kết nối mà fingerprint bị thay đổi, chứng tỏ có khả năng ai đó đang mạo danh server của bạn.

Làm quen với server của bạn
Sau khi đăng nhập, trước hết hãy tìm hiểu chút về thông tin cơ bản của con máy này nhé:
1 | # 查看系统版本 |

Nhớ kỹ mấy thông tin này nhé, về sau khi gặp lỗi cần debug thì sẽ dùng đến đấy.
Cập nhật hệ thống
Sau khi nắm được thông tin server, việc chính đáng làm đầu tiên là update hệ thống. Image hệ thống của server mới có thể là từ mấy tháng trước, trong khoảng thời gian đó có thể đã có bản vá bảo mật được tung ra rồi:
1 | # 更新软件包列表 + 升级所有软件 + 清理 |
Giải thích các tham số:
apt update: Cập nhật chỉ mục gói phần mềmapt full-upgrade: Nâng cấp toàn bộ phần mềm, bao gồm cả kernel-y: Tự động xác nhận, không cần gõ yes thủ côngapt autoremove: Xóa các dependency không còn cần thiếtapt autoclean: Dọn dẹp bộ nhớ đệm của các gói cài đã tải về

⏱️ Bước này có thể mất vài phút, tùy vào lượng update mà có. Đôi khi giữa chừng nó có hỏi xác nhận, cứ theo logic của nó mà bấm thôi, không sao cả.
Kiểm tra xem có cần reboot không
Sau khi update kernel, thường thì phải reboot mới có hiệu lực:
1 | # 检查是否需要重启 |

Nếu nó báo cần reboot:
1 | reboot |
Sau khi reboot xong, bạn cần kết nối SSH lại nhé.
Cài đặt các công cụ thông dụng
1 | apt install -y sudo curl wget git vim htop tree unzip net-tools ufw fail2ban neofetch |
Mấy cái tool này dùng để làm gì:
| Công cụ | Mục đích sử dụng | |
|---|---|---|
sudo |
Cho phép user thường chạy lệnh admin | |
curl / wget |
Tải file | |
git |
Quản lý phiên bản (version control) | |
vim |
Trình soạn thảo văn bản | |
htop |
Trình theo dõi process xịn xò hơn | |
tree |
Hiển thị cấu trúc thư mục dạng cây | |
net-tools |
Công cụ mạng (ifconfig, netstat, v.v.) | |
ufw |
Tường lửa đơn giản, dễ xài | |
fail2ban |
Chống brute-force | |
neofetch |
Hiển thị thông tin hệ thống cho đẹp | |
![]() |
3.2 Tạo user không phải root
Tại sao không dùng root luôn?
Quyền của user root lớn quá, lỡ tay gõ nhầm một phát rm -rf / là bay màu toàn bộ luôn. Vậy nên, thao tác hàng ngày cứ dùng user thường, khi nào cần quyền admin thì gọi sudo lên là được.
Con lobster (openclaw) dữ lắm, sao dám giao root cho nó xài chứ?
Tạo user
1 | # 创建用户(把 ittinker 换成你想要的用户名) |
Hệ thống sẽ hỏi bạn đặt mật khẩu và điền vài thông tin:
1 | New password: # 输入密码(不会显示) |

Cấp quyền sudo
1 | # 把用户加入 sudo 组, ittinker 换成你自己上面创建的那个用户 |
Kiểm tra thử nhé:
1 | # 切换到新用户 ittinker 换成你自己上面创建的那个用户 |
Nếu kết quả in ra root, nghĩa là bạn cấu hình sudo thành công rồi đó.

💡 Mẹo nhỏ
Gõ
exitđể quay lại user root. Vài bước setup tiếp theo tụi mình cứ dùng root cho tiện, setup xong hẵng chuyển về user thường nhé.
3.3 Cấu hình đăng nhập bằng SSH Key
Xác thực bằng Key vs xác thực bằng mật khẩu

Xác thực bằng Key an toàn hơn dùng mật khẩu rất nhiều:
- Mật khẩu có thể bị brute-force (dò bạo lực), còn key thì gần như không thể
- Không phải gõ mật khẩu mỗi lần, tiện hơn hẳn
- Dù mật khẩu có bị lộ, mà không có private key thì cũng chẳng ai login được
Bước 1: Tạo cặp key ở máy local
Chạy trên máy tính của bạn (không phải máy chủ):
1 | # 生成 ED25519 密钥(推荐,更安全更快) |
Nó sẽ hiện ra như sau:
1 | Enter file in which to save the key (/Users/你/.ssh/id_ed25519): |
Cứ bấm Enter luôn để dùng đường dẫn mặc định. Ở đây mình dùng ./ittinker , nghĩa là lưu ở thư mục hiện tại với tên file là ittinker
1 | Enter passphrase (empty for no passphrase): |
Bạn có thể đặt mật khẩu cho key (thêm một lớp bảo vệ), hoặc cứ bấm Enter để bỏ qua cũng được.

Sau khi tạo xong, bạn sẽ thấy hai file trong thư mục ~/.ssh/ (dưới đây là tên file mặc định nếu bạn bấm Enter ở bước trước):
id_ed25519: Private key (khóa bí mật), tuyệt đối không được để lộ nhé!id_ed25519.pub: Public key (khóa công khai), cái này thì sẽ upload lên máy chủ
💡 ed25519 vs RSA
ed25519là thuật toán được khuyên dùng hiện nay, an toàn hơn và key ngắn hơn so với RSA truyền thống. Nếu hệ thống của bạn quá cũ không hỗ trợ, thì dùngssh-keygen -t rsa -b 4096cũng được.
Một chút chi tiết nha, key ed25519 sinh ra khá nhỏ, còn file RSA thì to đùng, hỏi AI mới biết là kích thước không quan trọng đâu, nó là do thuật toán quyết định.
Bước hai: Upload public key lên máy chủ
Cách A: Dùng ssh-copy-id (khuyên dùng)
1 | # 在你的电脑上执行 |
Sau khi nhập mật khẩu, public key sẽ tự động được copy lên máy chủ.

Cách B: Copy thủ công
Nếu ssh-copy-id không dùng được, bạn có thể thao tác thủ công:
1 | # 1. 在你的电脑上,查看公钥内容 |
Copy đoạn nội dung được xuất ra (một chuỗi dài bắt đầu bằng ssh-ed25519).
1 | # 2. 在服务器上,为新用户创建 .ssh 目录, ittinker 换成你刚刚创建的用户名 |
⚠️ Quyền truy cập rất quan trọng!
SSH yêu cầu rất khắt khe về quyền của file:
- Thư mục
.ssh: 700 (chỉ user đó mới được truy cập)- File
authorized_keys: 600 (chỉ user đó mới được đọc và ghi)Nếu thiết lập sai quyền, SSH sẽ từ chối đăng nhập bằng key.
Bước 3: Test đăng nhập bằng key
Mở một cửa sổ terminal mới (đừng đóng cửa sổ cũ vội, lỡ config sai còn có đường lui), sau đó test đăng nhập bằng key xem sao:
1 | ssh ittinker@你的服务器IP |
Nếu đăng nhập được mà không cần nhập mật khẩu là key đã config thành công rồi! 🎉
(Nếu bạn có đặt passphrase cho private key, hệ thống sẽ hỏi mật khẩu của key, đây là chuyện bình thường nhé)

Ở đây mình thêm tham số -i là vì cái key này không nằm ở đường dẫn mặc định, mà được đặt ở thư mục hiện tại. Nếu không chỉ định rõ, hệ thống sẽ dùng key mặc định.
3.4 Tăng cường bảo mật cho SSH
Giờ đăng nhập bằng key đã chạy ngon rồi, chúng ta cùng tiến hành harden SSH nhé:
- Đổi port mặc định (tránh bị quét rà)
- Tắt đăng nhập bằng mật khẩu
- Cấm root đăng nhập trực tiếp
Chỉnh sửa file cấu hình SSH
1 | # 备份原配置 |

Tìm và chỉnh sửa các cấu hình sau (mấy cái có thể đang bị comment, bạn nhớ xóa dấu # ở đầu đi nhé):
1 | # 修改端口(选一个 1024-65535 之间的数字) |

Lưu lại rồi thoát ra (ctrl + o).
Với Nano thì nhấn ctrl + o để lưu, nó sẽ hỏi tên file, cứ Enter luôn là xong, còn thoát ra thì nhấn ctrl + x.
Khởi động lại dịch vụ SSH
1 | systemctl restart sshd.service |
⚠️ Lưu ý quan trọng!
Đừng vội đóng terminal hiện tại nha! Cứ mở một cửa sổ mới lên test thử xem cấu hình mới có đăng nhập bình thường không đã:
1 ssh -p 22000 yourname@你的服务器IPNếu đăng nhập được rồi thì hẵng đóng cửa sổ cũ. Còn nếu không vào được, bạn vẫn có thể quay lại cửa sổ cũ để sửa config.
Nếu bạn mua mấy VPS giá rẻ nhẹ thì khả năng cao là cái port này không cho đổi đâu, còn mấy con ECS truyền thống thì đổi được, chú ý nha.
3.5 Cấu hình tường lửa UFW

UFW (Uncomplicated Firewall) là công cụ tường lửa mặc định của Ubuntu, cấu hình thì đơn giản mà tính năng thì xịn xò.
Cấu hình cơ bản
1 | # 设置默认策略:拒绝所有入站,允许所有出站 |
Bật tường lửa
1 | ufw enable |
Nó sẽ hiện thông báo:
1 | Command may disrupt existing ssh connections. Proceed with operation (y|n)? |
Gõ y để xác nhận.
Kiểm tra trạng thái
1 | ufw status verbose |

23022 là mình gõ nhầm thôi, mấy bạn cứ chỉnh theo tình hình thực tế của mình là được nha
Kết quả sẽ kiểu như:
1 | Status: active |
Bảng tham khảo lệnh thường dùng
1 | # 查看状态 |
3.6 Bật tăng tốc BBR
BBR (Bottleneck Bandwidth and Round-trip propagation time) là thuật toán kiểm soát tắc nghẽn TCP do Google phát triển, giúp tăng cường hiệu suất mạng đáng kể.
Bật nhanh chỉ với một lệnh
1 | # 添加 BBR 配置 |
Kiểm tra xem đã bật chưa
1 | # 查看当前拥塞控制算法 |
Kết quả trả về sẽ là:
1 | net.ipv4.tcp_congestion_control = bbr |
1 | # 确认 BBR 模块已加载 |
Kết quả sẽ kiểu như:
1 | tcp_bbr 20480 3 |
💡 Hiệu quả của BBR
Sau khi bật BBR, đặc biệt là trong môi trường mạng không ổn định hoặc độ trễ cao, bạn sẽ cảm nhận rõ rệt:
- Tốc độ tải xuống nhanh hơn
- Thao tác SSH mượt mà hơn
- Tốc độ tải trang web nhanh hơn

3.7 Cấu hình fail2ban chống brute-force
fail2ban sẽ theo dõi log, phát hiện IP đăng nhập thất bại nhiều lần thì tự động block.
Cấu hình cơ bản
1 | # 复制默认配置(不要直接修改 jail.conf) |
Tìm phần [sshd], đảm bảo có các cấu hình sau:
1 | [sshd] |

Khởi động dịch vụ
1 | # 重启 fail2ban |
Kiểm tra trạng thái
1 | # 查看 fail2ban 状态 |

Kết quả trả về sẽ trông kiểu thế này:
1 | Status for the jail: sshd |
Các lệnh thường dùng
1 | # 手动封禁 IP |
3.8 [Tùy chọn] Quản lý nhiều server với SSH Config
Nếu bạn có nhiều server, mỗi lần gõ ssh -p 22000 user@ip thì mệt lắm. Dùng SSH Config cho gọn nhé.
File cấu hình
Trên máy tính cá nhân của bạn, mở file ~/.ssh/config ra sửa:
1 | vim ~/.ssh/config |
Thêm cấu hình vào:
1 | # 第一台服务器 |
Cách dùng
Giờ bạn có thể kết nối trực tiếp bằng alias luôn:
1 | # 连接第一台服务器 |
Không cần phải nhớ IP, port hay username nữa, tiện cực!
3.9 [Tùy chọn] Chỉ cho phép Cloudflare truy cập
Nếu website của bạn nằm hoàn toàn phía sau Cloudflare, bạn có thể thiết lập chỉ cho phép IP của Cloudflare truy cập vào port 80/443 để tăng độ bảo mật.
⚠️ Lưu ý: Cấu hình này yêu cầu tên miền của bạn đã trỏ qua Cloudflare CDN rồi nhé.
Script tự động cấu hình
1 | # 下载脚本 |
Script này sẽ:
- Lấy dải IP mới nhất từ trang chủ Cloudflare
- Thêm rule UFW, chỉ cho phép các IP này truy cập port 80/443
- Reload lại UFW
Cài đặt cập nhật tự động
Dải IP của Cloudflare có thể thay đổi, nên set cho nó tự cập nhật mỗi tuần:
1 | # 添加 cron 任务(每周一凌晨执行) |
3.10 Cài đặt múi giờ
Múi giờ mặc định có thể là UTC, đổi sang múi giờ của bạn cho dễ xem log:
1 | # 查看当前时区 |

3.11 [Tùy chọn] Cấu hình cập nhật bảo mật tự động
Để hệ thống tự cài patch bảo mật, khỏi phải làm thủ công mỗi lần:
1 | # 安装自动更新工具 |
Chọn “Yes” để bật tính năng tự cập nhật.
💡 Tính năng này sẽ tự cài bản cập nhật bảo mật, không tự động nâng cấp lên phiên bản lớn mới, nên khá an tâm.
4. Tổng kết
Checklist kiểm tra khởi tạo
Sau khi xong hết mấy bước trên, dùng checklist này rà lại một lượt nha:
| Mục kiểm tra | Lệnh | Kết quả mong đợi |
|---|---|---|
| Hệ thống đã cập nhật | apt update && apt list --upgradable |
Không có gói nào cần nâng cấp |
| User thường có quyền sudo | sudo whoami |
Output ra root |
| Đăng nhập bằng key hoạt động bình thường | ssh yourname@ip -p port |
Đăng nhập không cần mật khẩu |
| Đăng nhập bằng mật khẩu đã tắt | grep PasswordAuth /etc/ssh/sshd_config |
PasswordAuthentication no |
| Port SSH đã đổi | grep Port /etc/ssh/sshd_config |
Port mà bạn cài đặt |
| Tường lửa đã bật | ufw status |
Status: active |
| BBR đã kích hoạt | sysctl net.ipv4.tcp_congestion_control |
= bbr |
| fail2ban đang chạy | systemctl status fail2ban |
active (running) |
| Múi giờ đã cài đặt | timedatectl |
Asia/Shanghai hoặc múi giờ của bạn |
| Local SSH Config | cat ~/.ssh/config |
Đã cấu hình alias cho server |
Vị trí các file quan trọng
1 | /etc/ssh/sshd_config # SSH 服务端配置 |
Các phương pháp bảo mật tối ưu
- Cập nhật hệ thống thường xuyên:
apt update && apt upgrade - Kiểm tra log đăng nhập định kỳ:
lastb(đăng nhập thất bại),last(đăng nhập thành công) - Theo dõi tình trạng block của fail2ban thường xuyên
- Backup trước khi chỉnh sửa các file cấu hình quan trọng
5. Ghi chú xử lý sự cố
Q1: Đăng nhập bằng key bị lỗi, vẫn phải nhập mật khẩu?
Nguyên nhân khả dĩ:
-
Lỗi phân quyền (thường gặp nhất)
1
2
3# 检查并修复权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys -
Public key copy chưa chuẩn
1
2
3# 检查 authorized_keys 内容
cat ~/.ssh/authorized_keys
# 应该是一行完整的公钥,以 ssh-ed25519 或 ssh-rsa 开头 -
SELinux quấy phá (trên hệ thống CentOS/RHEL)
1
restorecon -Rv ~/.ssh
Q2: Đổi port xong không kết nối được?
Các bước gỡ lỗi:
-
Chắc chắn port mới đã được mở trên tường lửa:
1
ufw status | grep 你的端口
-
Kiểm tra lại xem cấu hình SSH đã chuẩn chưa:
1
grep Port /etc/ssh/sshd_config
-
Đảm bảo dịch vụ SSH đang chạy:
1
systemctl status sshd
-
Nếu tịt ngõ hoàn toàn, dùng VNC/console của nhà cung cấp để đăng nhập vào sửa.
Q2.5: Đổi port mà không hề có tác dụng? (Máy chủ lightweight của nhà cung cấp cloud)
Triệu chứng: Đã sửa /etc/ssh/sshd_config, restart service xong mà port 22 vẫn còn, port mới không tác dụng.
Cách chẩn đoán:
bash
1 | # 查看是谁在监听 22 端口 |
Nếu output ra kiểu:
1 | tcp 0 0.0.0.0:22 0.0.0.0:* LISTEN 1/init |
Tức là port 22 đang được init (PID 1) lắng nghe, chứ không phải tiến trình sshd.
Lý do: Với một số nhà cung cấp cloud, SSH của các loại “Light Application Server” hoặc “Container Instance” được proxy qua lớp nền tảng, nên cấu hình sshd bên trong server của bạn sẽ không có tác dụng.
Cách giải quyết:
| Loại instance | Cách đổi cổng SSH |
|---|---|
| ECS truyền thống | Sửa sshd_config ✅ |
| Light server | Có thể phải đổi trong console của cloud, hoặc có khi không hỗ trợ luôn |
| Container instance | Thường không hỗ trợ đổi |
Nếu instance của bạn không cho đổi cổng, thì các biện pháp bảo mật khác lại càng quan trọng hơn:
- ✅ Tạo user thường + vô hiệu hóa đăng nhập bằng root
- ✅ Đăng nhập SSH bằng key + vô hiệu hóa đăng nhập bằng mật khẩu
- ✅ Dùng fail2ban chống brute-force
Làm cho đủ các bước này là độ bảo mật vẫn rất cao rồi.
Q3: fail2ban tự block chính mình?
1 | # 用 VNC 登录后解封 |
Q4: Bật UFW xong không vào được web?
1 | # 检查 80/443 是否开放 |
Q5: Chạy command báo không tìm thấy sudo?
Bản cài tối giản của Debian có thể không có sẵn sudo, bạn dùng root để cài:
1 | apt install sudo |
6. Script khởi tạo một chạm (dùng khi đã quen tay)
Nếu bạn đã rành các bước ở trên rồi, thì dùng script này để khởi tạo nhanh cho lẹ.
⚠️ Lưu ý: Trước khi chạy script, hãy đảm bảo là bạn đã chuẩn bị sẵn SSH public key nhé.
1 |
|
7. Làm xong mấy bước này, bảo mật tăng lên bao nhiêu rồi?
| Bước | Đã làm gì | Tại sao quan trọng |
|---|---|---|
| Update hệ thống | Cài các bản vá mới nhất | Fix các lỗ hổng đã biết |
| Tạo user mới | Không dùng thẳng root nữa | Giảm rủi ro lỡ tay |
| SSH key | Dùng key thay cho password | Không thể bị brute-force |
| Đổi port | Tránh thẳng port 22 mặc định | Giảm xác suất bị quét tới |
| Tắt password | Chỉ cho phép đăng nhập bằng key | Triệt tiêu hoàn toàn tấn công dò mật khẩu |
| Tắt root | root không thể đăng nhập trực tiếp | Tăng độ khó cho kẻ tấn công |
| UFW firewall | Chỉ mở những port cần thiết | Thu nhỏ bề mặt tấn công |
| Tăng tốc BBR | Tối ưu hiệu năng mạng | Nâng tốc độ truy cập |
| fail2ban | Tự động ban IP độc | Chặn tấn công liên tục |
Làm xon những bước này, server của bạn đã an toàn hơn 90% VPS khác rồi đấy.
Hẹn gặp ở bài tiếp theo
Bài sau tụi mình sẽ nói về Cheat sheet cấu hình đăng nhập bằng SSH key, sẽ đi chi tiết hơn về:
- Cách tạo key trên các hệ điều hành khác nhau
- Quản lý nhiều key
- Cấu hình SSH Agent
- Cài đặt các SSH client phổ biến
Bài viết cập nhật lần cuối: Tháng 1, 2026
Bộ công cụ cho indie dev series, follow mình nhé!




