Sử dụng SSH key là cách bảo mật, tiện lợi và phổ biến nhất để truy cập vào các máy chủ từ xa (VPS). Nếu bạn đang dùng MacBook và quản lý nhiều VPS khác nhau, việc tổ chức các SSH key gọn gàng, có tên dễ nhớ và bảo trì lâu dài là điều rất quan trọng.
id_rsa
): giữ bí mật, chỉ tồn tại trên máy của bạn.id_rsa.pub
): có thể chia sẻ, dùng để dán lên máy chủ để được phép truy cập.Trên MacBook, mở Terminal và chạy:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_tenvps
Trong đó:
id_rsa_tenvps
: đặt tên gợi nhớ nhưid_rsa_ivolunteer
,id_rsa_server_de
, v.v.- Bạn có thể đặt passphrase hoặc để trống (tùy mức độ bảo mật mong muốn)
ssh-copy-id
)Nếu VPS dùng port mặc định (22):
ssh-copy-id -i ~/.ssh/id_rsa_tenvps.pub root@IP_VPS
Nếu VPS dùng port tùy chỉnh, ví dụ 26266:
ssh-copy-id -i ~/.ssh/id_rsa_tenvps.pub -p 26266 root@IP_VPS
⚠️ Nếu
ssh-copy-id
không hỗ trợ port (một số bản trên Mac), hãy dùng cách thủ công:
cat ~/.ssh/id_rsa_tenvps.pub | ssh -p 26266 root@IP_VPS
"mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
~/.ssh/config
để quản lý dễ dàngTạo (hoặc mở) file cấu hình:
nano ~/.ssh/config
Thêm nội dung như sau:
Host vps_ivolunteer
HostName 103.162.31.117
Port 26266
User root
IdentityFile ~/.ssh/id_rsa_ivolunteer
IdentitiesOnly yes
Bây giờ, bạn chỉ cần dùng:
ssh vps_ivolunteer
thay vì phải nhớ IP và port thủ công.
authorized_keys
là gì?Trên VPS, thư mục ~/.ssh/authorized_keys
(ví dụ: /root/.ssh/authorized_keys
) là nơi liệt kê các public key được phép truy cập vào VPS đó. Mỗi dòng là một public key.
Bạn có thể thêm nhiều key vào để cho phép nhiều máy khác nhau SSH vào VPS.
.ssh
nằm ở đâu?Hệ thống | Đường dẫn |
---|---|
MacBook (user) | ~/.ssh hoặc /Users/yourname/.ssh |
VPS (root) | /root/.ssh |
VPS (user thường) | /home/username/.ssh |
Bạn có thể vào .ssh
trên Mac bằng:
cd ~/.ssh
ls -la
Hoặc mở Finder → Cmd + Shift + G
→ nhập ~/.ssh
.
.ssh
Tên file | Mục đích |
---|---|
id_rsa | Private key - KHÔNG chia sẻ |
id_rsa.pub | Public key - dùng để dán vào authorized_keys |
authorized_keys | (trên VPS) chứa danh sách các public key được phép SSH |
config | Cấu hình tùy chọn nhiều VPS, port, file key |
known_hosts | Ghi nhớ các host đã kết nối trước (tự động sinh ra) |
id_rsa_vps_name
)~/.ssh/config
để alias truy cập nhanh~/.ssh/keys/
nếu muốn gọn gàng: mkdir -p ~/.ssh/keys mv ~/.ssh/id_rsa_* ~/.ssh/keys/
Đừng quên cập nhật đường dẫn trong ~/.ssh/config
nếu bạn di chuyển file.
Trên cả máy bạn và VPS, luôn đảm bảo:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa*
.pub
) là “vé vào cửa”id_rsa
) là chìa khóa thật — không được chia sẻauthorized_keys
, nếu public key nào trong đó → được truy cập~/.ssh/config
để kết nối nhanh và chuyên nghiệpauthorized_keys
để cho nhiều thiết bị truy cập