TDCLOUD  ·  0%
Hướng Dẫn

Cách quản lý file VPS Linux bằng WinSCP: tải lên, sửa file, phân quyền

C
Cố Tổng
06/10/2026
5 lượt xem

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:

  1. Tải và cài WinSCP từ trang chính thức winscp.net.
  2. Tạo phiên SFTP: IP VPS, port 22, tài khoản và mật khẩu.
  3. Bấm Accept khoá máy chủ ở lần kết nối đầu tiên.
  4. Kéo thả file giữa cột trái (máy bạn) và cột phải (VPS).
  5. 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:

  1. File protocol: SFTP.
  2. Host name: IP của VPS. Port number: 22.
  3. User name và Password: tài khoản và mật khẩu VPS.
  4. 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.
  5. Bấm Login.
Cửa sổ Login của WinSCP chọn giao thức SFTP, nhập Host name, Port 22, User name và Password
Tạo phiên SFTP trong WinSCP. Khi lưu phiên, WinSCP hỏi có lưu mật khẩu không: chỉ nên lưu trên máy tính cá nhân.

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ớ.

Cảnh báo WinSCP Continue connecting to an unknown server and add its host key to a cache với nút Accept
Bấm Accept. Từ lần sau, cảnh báo này không hiện lại nữa.

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/html hoặ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.

Giao diện hai cột của WinSCP: bên trái thư mục máy tính, bên phải thư mục /var/www/html trên VPS, kéo file zip sang để tải lên
Kéo file 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:

  1. Owner/Group: với Nginx hoặc Apache trên Ubuntu/Debian, file website thường thuộc về www-data.
  2. Permissions: file thường để 0644, thư mục để 0755. Tránh đặt 0777 vì ai cũng ghi được, rất dễ bị chèn mã độc.
  3. 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.
Hộp thoại Properties của WinSCP: đổi Owner, Group thành www-data và quyền Octal 0644
Đổi chủ sở hữu và quyền ngay trong WinSCP, không cần gõ lệnh 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

  1. Mở PuTTYgen (đi kèm PuTTY, hoặc trong WinSCP: Tools → Run PuTTYgen).
  2. 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.
  3. 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.
  4. Copy cả dòng ssh-ed25519 AAAA… trong ô phía trên: đây là khoá công khai.
PuTTY Key Generator tạo khoá EdDSA, nút Generate và Save private key
Tạo cặp khoá bằng PuTTYgen. Khoá công khai nằm trong ô phía trên, khoá riêng lưu thành file .ppk.

Đư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.

Advanced Site Settings của WinSCP, mục SSH Authentication chọn Private key file .ppk
Chọn file khoá riêng .ppk cho phiên. Từ giờ WinSCP đăng nhập không cần mật khẩu.

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.

Nếu bạn thấy bài viết này hữu ích...

Nhấp vào ngôi sao để đánh giá!

Chưa có đánh giá nào. Hãy là người đầu tiên!

Có thể bạn quan tâm