Làm việc với VPS Linux qua dòng lệnh rất tiện, nhưng khi cần tải mã nguồn website lên, lấy file backup về máy hay sửa vài dòng cấu hình, nhiều người vẫn muốn một giao diện kéo thả quen thuộc. WinSCP là phần mềm miễn phí trên Windows làm đúng việc đó: nó kết nối tới VPS bằng giao thức SFTP (truyền file qua SSH) và hiển thị file trên VPS giống như một thư mục trên máy bạn.
Bài này hướng dẫn cách quản lý file VPS Linux bằng WinSCP từ lúc cài đặt đến khi đăng nhập bằng SSH key, có ảnh minh họa cho từng màn hình.
Tóm tắt nhanh:
- Tải và cài WinSCP từ trang chính thức winscp.net.
- Tạo phiên SFTP: IP VPS, port 22, tài khoản và mật khẩu.
- Bấm Accept khoá máy chủ ở lần kết nối đầu tiên.
- Kéo thả file giữa cột trái (máy bạn) và cột phải (VPS).
- Tuỳ chọn: chuyển sang đăng nhập bằng SSH key cho an toàn.
Chuẩn bị
- Thông tin VPS: IP, tài khoản (thường là
root) và mật khẩu, xem trong trang quản lý dịch vụ hoặc email bàn giao. - Cổng SSH: mặc định là
22. Nếu bạn đã đổi cổng SSH thì dùng cổng mới. - WinSCP: tải từ
winscp.net, bản cài đặt (Installation package) hoặc bản chạy ngay (Portable). Chỉ nên tải từ trang chính thức để tránh bản bị chèn mã độc.
WinSCP dùng chung tài khoản với SSH, nên nếu bạn đã kết nối được VPS Linux qua SSH thì chắc chắn kết nối được bằng WinSCP.
Bước 1: Tạo phiên kết nối SFTP
Mở WinSCP, cửa sổ Login hiện ra. Chọn New Site ở cột trái rồi điền:
- File protocol:
SFTP. - Host name: IP của VPS. Port number:
22. - User name và Password: tài khoản và mật khẩu VPS.
- Bấm Save để lưu phiên, đặt tên dễ nhớ như "VPS TDCLOUD". Lần sau chỉ cần chọn tên này trong danh sách.
- Bấm Login.

Bước 2: Chấp nhận khoá máy chủ (lần đầu)
Ở lần kết nối đầu tiên, WinSCP báo "Continue connecting to an unknown server and add its host key to a cache?". Đây là cơ chế bảo vệ của SSH: máy bạn chưa từng thấy VPS này nên hỏi bạn có tin tưởng không. Bấm Accept để WinSCP ghi nhớ.

Nếu một ngày cảnh báo này xuất hiện lại với nội dung khoá máy chủ đã thay đổi mà bạn không hề cài lại VPS, hãy dừng lại và kiểm tra. Sau khi cài lại hệ điều hành thì khoá thay đổi là bình thường.
Bước 3: Tải file lên và tải về bằng kéo thả
Giao diện mặc định (Commander) chia làm hai cột:
- Cột trái: ổ đĩa trên máy tính của bạn.
- Cột phải: thư mục trên VPS. Website thường nằm ở
/var/www/htmlhoặc thư mục do control panel tạo.
Kéo file từ trái sang phải để tải lên, từ phải sang trái để tải về. Có thể chọn nhiều file bằng Ctrl hoặc Shift như trong Windows Explorer. Thanh trạng thái phía dưới hiển thị dung lượng, tiến độ và thời gian còn lại.

backup-web.zip từ máy tính (trái) sang thư mục website trên VPS (phải).Với thư mục có hàng nghìn file nhỏ (ví dụ mã nguồn WordPress), nên nén thành một file .zip hoặc .tar.gz trước, tải lên rồi giải nén trên VPS. Cách này nhanh hơn nhiều so với tải từng file. Chi tiết xem bài cách chép file dung lượng lớn lên VPS.
Bước 4: Sửa file trực tiếp trên VPS
Nhấp đúp vào một file văn bản ở cột phải (ví dụ wp-config.php, .htaccess) hoặc chọn file rồi nhấn F4. WinSCP mở file bằng trình soạn thảo có sẵn. Khi bạn bấm Save, file được ghi ngược lên VPS ngay.
Bạn cũng có thể đặt trình soạn thảo quen thuộc như Notepad++ hay VS Code: vào Options → Preferences → Editors, thêm chương trình và đưa lên đầu danh sách.
Trước khi sửa file cấu hình quan trọng, hãy kéo một bản về máy làm dự phòng. Lỡ sửa sai, bạn chỉ cần kéo bản cũ lên lại.
Bước 5: Đổi quyền và chủ sở hữu file
Lỗi website hay gặp sau khi tải file lên là sai quyền: web không ghi được vào thư mục upload, hoặc báo 403 Forbidden. Chuột phải vào file hoặc thư mục ở cột phải → Properties:
- Owner/Group: với Nginx hoặc Apache trên Ubuntu/Debian, file website thường thuộc về
www-data. - Permissions: file thường để
0644, thư mục để0755. Tránh đặt0777vì ai cũng ghi được, rất dễ bị chèn mã độc. - Bấm OK. Với thư mục, có thể tích Set group, owner and permissions recursively để áp dụng cho cả bên trong.

chown, chmod.Tương đương bằng lệnh nếu bạn muốn làm nhanh cho cả thư mục:
chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
Mở PuTTY ngay từ WinSCP
Khi cần gõ lệnh (giải nén, khởi động lại dịch vụ), bấm Commands → Open in PuTTY (hoặc Ctrl+P). WinSCP mở PuTTY và đăng nhập sẵn bằng thông tin của phiên hiện tại. Máy cần cài PuTTY trước.
Đăng nhập WinSCP bằng SSH key thay cho mật khẩu
SSH key an toàn hơn mật khẩu và không phải gõ lại mỗi lần. Nếu bạn đã làm theo bài bảo mật VPS Linux cơ bản và tắt đăng nhập bằng mật khẩu, đây là cách duy nhất để WinSCP vào được VPS.
Tạo khoá bằng PuTTYgen
- Mở PuTTYgen (đi kèm PuTTY, hoặc trong WinSCP: Tools → Run PuTTYgen).
- Chọn EdDSA ở mục Parameters, bấm Generate và rê chuột trong ô trống cho tới khi thanh tiến độ chạy hết.
- Bấm Save private key để lưu file
.ppk. Đây là chìa khoá riêng, cất kỹ và không gửi cho ai. - Copy cả dòng
ssh-ed25519 AAAA…trong ô phía trên: đây là khoá công khai.

Đưa khoá công khai lên VPS
Đăng nhập VPS bằng mật khẩu (qua WinSCP hoặc SSH) rồi chạy, thay phần trong nháy bằng khoá công khai bạn vừa copy:
mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo "ssh-ed25519 AAAA...khoa-cong-khai-cua-ban" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Chọn file khoá trong WinSCP
Ở cửa sổ Login, chọn phiên đã lưu → Edit → Advanced... → mục SSH → Authentication → ô Private key file chọn file .ppk → OK → Save.

Phương án thay thế: FileZilla
Nếu đã quen FileZilla, bạn vẫn dùng được với VPS: ở ô Host nhập sftp://IP-VPS, Username, Password, Port 22 rồi bấm Quickconnect. Lưu ý chọn đúng SFTP, không phải FTP: VPS mới thường không cài máy chủ FTP, và FTP không mã hoá mật khẩu khi truyền.
Lỗi thường gặp
"Network error: Connection timed out"
Máy bạn không tới được VPS ở cổng đã nhập. Kiểm tra VPS có đang Online, IP và cổng đúng chưa, tường lửa trong VPS (ví dụ UFW) đã mở cổng SSH chưa. Nếu không vào được cả SSH, dùng VNC Console trong trang quản lý để kiểm tra.
"Access denied" khi đăng nhập
Sai tài khoản hoặc mật khẩu, hoặc VPS đã tắt đăng nhập bằng mật khẩu mà bạn chưa chọn file khoá. Kiểm tra lại, nhớ tắt bộ gõ tiếng Việt khi gõ mật khẩu.
"Permission denied" khi tải file lên
Tài khoản bạn đang dùng không có quyền ghi vào thư mục đích. Hoặc đăng nhập bằng tài khoản có quyền, hoặc đổi chủ sở hữu thư mục cho đúng như Bước 5.
Câu hỏi thường gặp
WinSCP có dùng được với VPS Windows không?
VPS Windows thường chép file qua Remote Desktop thì tiện hơn. Windows Server 2019 trở lên có thể cài thêm OpenSSH Server để dùng SFTP, nhưng với đa số người dùng thì Remote Desktop là đủ: xem bài kết nối VPS Windows bằng Remote Desktop.
Có nên lưu mật khẩu trong WinSCP?
Chỉ nên lưu trên máy cá nhân có đặt mật khẩu đăng nhập. WinSCP cho phép đặt Master password (Options → Preferences → Security) để mã hoá các mật khẩu đã lưu. Dùng SSH key là cách gọn hơn.
Tải file lớn bị đứt giữa chừng thì sao?
WinSCP hỗ trợ tải tiếp (resume) với SFTP. Khi tải lại cùng file, chọn tiếp tục thay vì ghi đè. Với file rất lớn, nén trước và kiểm tra dung lượng trống trên VPS bằng lệnh df -h.
Nếu gặp lỗi khi kết nối WinSCP tới VPS, hãy gửi ảnh chụp thông báo lỗi cho đội kỹ thuật TDCLOUD để được kiểm tra. Bạn đang cần một VPS Linux để chạy website? Tham khảo các gói VPS giá rẻ và VPS tiêu chuẩn.