Tệp ~/.ssh/config: tên ngắn thay cho lệnh dài
Cách mô tả một máy một lần và kết nối bằng lệnh hai từ, đặt key, người dùng, cổng, và giữ kết nối sống.
Cập nhật 23 tháng 8, 2026
Thay vì gõ ssh -i ~/.ssh/id_ed25519 -p 22 root@203.0.113.10, bạn có thể gõ ssh vds. Bạn chỉ cần thiết lập một lần trên máy tính của mình.
Tệp nằm ở đâu
Trên macOS và Linux, đó là ~/.ssh/config. Trên Windows, đó là C:\Users\<you>\.ssh\config (cùng đường dẫn ~/.ssh/config trong Windows Terminal). Tệp có thể chưa tồn tại — hãy tạo nó:
mkdir -p ~/.ssh
nano ~/.ssh/config
chmod 600 ~/.ssh/config
Quyền truy cập rất quan trọng: nếu tệp cho phép mọi người đọc, client có thể từ chối đọc nó.
Mục tối giản
Host vds
HostName 203.0.113.10
User root
IdentityFile ~/.ssh/id_ed25519
Giờ lệnh này hoạt động:
ssh vds
Các công cụ khác cũng nhận ra tên viết tắt:
scp dump.sql vds:/root/
sftp vds
rsync -avz ./site/ vds:/var/www/site/
Để sao chép tệp, xem scp và rsync và SFTP.
Các tham số hữu ích
Host vds
HostName 203.0.113.10
User artem
Port 22
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
ServerAliveInterval 30
ServerAliveCountMax 3
| Tham số | Vì sao bạn cần nó |
|---|---|
IdentitiesOnly yes | Client chỉ đưa ra key được chỉ định. Giúp bạn khi có nhiều key và máy chủ cắt bớt các lần thử |
ServerAliveInterval | Gửi một gói tin mỗi 30 giây để kết nối không bị ngắt do không hoạt động |
Port | Nếu bạn đã chuyển SSH sang cổng không tiêu chuẩn |
User | Tên người dùng mặc định cho host này |
Nhiều máy
Host vds-web
HostName 203.0.113.10
User root
IdentityFile ~/.ssh/id_ed25519
Host vds-db
HostName 203.0.113.20
User artem
IdentityFile ~/.ssh/id_ed25519
Host *
ServerAliveInterval 30
Khối Host * đặt các cài đặt chung cho tất cả mục. Thứ tự rất quan trọng: kết quả khớp đầu tiên cho mỗi tham số sẽ thắng, vì vậy hãy đặt khối chung ở cuối.
Lỗi thường gặp
- Thụt lề bằng Tab và khoảng trắng thừa — một số client phàn nàn về điều này. Hãy dùng bốn dấu cách.
- Đường dẫn key có dấu gạch chéo ngược trên Windows — hãy viết
~/.ssh/id_ed25519. - Thiếu
HostName— client sẽ cố kết nối tới một host tên làvdsvà không tìm thấy. - Quyền 644 trên tệp — hãy đặt thành
600.
Để kiểm tra chính xác điều gì áp dụng cho một host:
ssh -G vds
ssh -v vds
Lệnh đầu tiên in ra các tham số kết quả, lệnh thứ hai hiển thị tiến trình kết nối — nó cho bạn biết key nào đã được đưa ra.
Tệp
configchỉ mô tả phía bạn. Điều mà máy chấp nhận là do/etc/ssh/sshd_configcủa nó quyết định, xem SSH keys.