Cách Tải File Lên VPS Và Copy File Từ VPS Về Máy Tính

Cài xong VPS chỉ là bước đầu. Việc tiếp theo — tải file lên VPS, copy file VPS về máy tính, đưa mã nguồn website, video hay file backup qua lại giữa máy tính cá nhân và VPS — mới là thứ khiến người mới dùng VPS lúng túng nhất. Rất nhiều người tìm cách download file từ VPS Linux về máy tính bằng PuTTY nhưng thử mãi không ra, vì PuTTY vốn không có chức năng đó.

Nhầm lẫn phổ biến nhất: nghĩ PuTTY là công cụ vạn năng, mở lên là kéo-thả được file. Thực tế PuTTY chỉ là công cụ kết nối SSH (giao diện dòng lệnh) — nó không có chức năng kéo-thả file. Muốn copy file bằng dòng lệnh, cần dùng PSCP hoặc PSFTP (hai công cụ đi kèm bộ cài PuTTY). Muốn giao diện kéo-thả trực quan như Windows Explorer, cần thêm WinSCP hoặc FileZilla.

Bài viết này đi thẳng vào cách làm: tải file từ VPS về máy tính, tải file từ máy tính lên VPS, và cách cấu hình WinSCP/FileZilla để làm việc này nhanh hơn nhiều lần so với gõ lệnh thủ công. Nếu vẫn còn thắc mắc cơ bản về VPS, xem thêm một số câu hỏi thường gặp về VPS trước khi bắt tay vào thao tác.

Cách tải file từ VPS về máy tính (Download)

Dùng lệnh SCP (Terminal macOS/Linux, hoặc PowerShell/WSL trên Windows)

SCP (Secure Copy Protocol) là cách nhanh nhất nếu máy tính đã có sẵn dòng lệnh hỗ trợ SSH. Cú pháp tải 1 file từ VPS về máy tính:

scp user@103.x.x.x:/duong/dan/den/file.zip ./

Trong đó user là tài khoản SSH (thường là root), 103.x.x.x là IP VPS, phần sau dấu : là đường dẫn file trên VPS, còn ./ là thư mục hiện tại trên máy tính — đổi thành đường dẫn khác nếu muốn lưu ở chỗ khác.

Tải file từ VPS Linux về máy tính bằng PuTTY (dùng PSCP)

Đây là cách nhiều người tìm nhưng hay bị nhầm lẫn: PuTTY không tự làm được, phải dùng PSCP — công cụ dòng lệnh cài kèm chung với PuTTY (nằm cùng thư mục cài đặt, ví dụ C:\Program Files\PuTTY). Mở Command Prompt tại thư mục đó và chạy:

pscp -pw "matkhau_vps" root@103.x.x.x:/var/www/backup.zip C:\Downloads\

Nếu VPS dùng SSH key thay vì mật khẩu, thay -pw bằng -i duong_dan_file.ppk (file key định dạng .ppk do PuTTYgen tạo, không dùng trực tiếp file .pem).

Tải nguyên thư mục hoặc toàn bộ đường dẫn cùng lúc

Không cần tải từng file lẻ. Thêm cờ -r (recursive) vào lệnh SCP hoặc PSCP để copy cả thư mục:

scp -r user@103.x.x.x:/var/www/html ./website-backup

Lệnh trên tải nguyên thư mục /var/www/html trên VPS về máy tính, giữ nguyên cấu trúc thư mục con bên trong.

Tải video hoặc file dung lượng lớn từ VPS

Với file vài trăm MB đến vài GB (video, database dump), lệnh dòng lệnh không hiển thị tiến trình rõ ràng và không tự nối lại nếu mạng bị rớt giữa chừng. Hai cách xử lý tốt hơn:

  • Dùng WinSCP hoặc FileZilla (phần 3) — có thanh tiến trình, hỗ trợ resume khi mất kết nối.
  • Nếu vẫn muốn dùng dòng lệnh, thay scp bằng rsync để tận dụng tính năng tiếp tục dở dang:
rsync -avz --partial --progress user@103.x.x.x:/path/video.mp4 ./

Cách tải file từ máy tính lên VPS (Upload)

Upload file lên VPS bằng lệnh SCP

Chiều ngược lại chỉ cần đảo vị trí nguồn và đích trong lệnh:

scp ./file.zip user@103.x.x.x:/var/www/html/

Muốn upload cả thư mục, thêm -r như phần download ở trên. Muốn dùng PuTTY thay vì terminal có sẵn SSH, đổi scp thành pscp với cú pháp tương tự.

Upload file ISO lên VPS (ví dụ cài đặt hệ điều hành tùy chỉnh)

Một số gói VPS (đặc biệt VPS Windows hoặc VPS quản lý qua KVM/VNC) cho phép mount file ISO tùy chỉnh để cài lại hệ điều hành — kể cả bản ISO cũ như Windows 7. Trước khi chọn ISO trong control panel VPS, cần upload file .iso (thường 700MB–4GB) lên đúng thư mục ISO mà nhà cung cấp yêu cầu, qua SCP hoặc WinSCP/FileZilla. Vì file khá nặng, ưu tiên WinSCP/FileZilla để tránh bị timeout hoặc treo giữa chừng.

Upload file từ máy tính lên VPS bằng FileZilla (SFTP)

Lưu ý: đây là upload file từ máy tính cá nhân lên 1 VPS, khác với việc chuyển file giữa hai VPS với nhau. Các bước:

  1. Mở FileZilla → File > Site Manager > New Site.
  2. Protocol chọn SFTP, Host điền IP VPS, Port 22.
  3. Logon Type chọn Normal, nhập User và Password của VPS.
  4. Bấm Connect. Khi kết nối thành công, cửa sổ bên trái (Local site) là máy tính, bên phải (Remote site) là VPS.
  5. Kéo file/thư mục cần upload từ bên trái sang bên phải là xong.

Dùng WinSCP/FileZilla kết nối VPS để truyền file

Nếu phải copy file qua lại thường xuyên, dùng công cụ giao diện đồ họa như WinSCP sẽ nhanh và ít lỗi hơn nhớ lệnh dòng lệnh.

Cấu hình kết nối WinSCP với VPS

  1. Mở WinSCP → New Site.
  2. File protocol chọn SFTP (hoặc SCP nếu VPS không hỗ trợ SFTP).
  3. Host name: nhập IP VPS. Port number: 22.
  4. User name: tài khoản SSH (thường root). Password: nhập trực tiếp, hoặc để trống nếu dùng key.
  5. Nếu dùng SSH key: vào Advanced > SSH > Authentication, trỏ đến file .ppk (convert từ .pem bằng PuTTYgen nếu VPS cấp key dạng .pem).
  6. Bấm Login.

Copy nguyên thư mục qua lại

Sau khi kết nối, giao diện WinSCP chia đôi màn hình giống FileZilla: trái là máy tính, phải là VPS. Chỉ cần kéo cả thư mục từ bên này sang bên kia — WinSCP tự copy toàn bộ file con bên trong, giữ nguyên cấu trúc thư mục.

Copy file vào VPS Linux và chỉnh quyền truy cập

Sau khi copy file vào VPS, một số file (đặc biệt script .sh) cần được cấp quyền thực thi mới chạy được. WinSCP có tích hợp sẵn terminal (phím tắt Ctrl+T) để chạy lệnh chmod/chown ngay tại chỗ mà không cần mở thêm PuTTY:

chmod +x deploy.sh

Nếu lệnh chmod báo lỗi không đủ quyền, có thể cần chạy bằng quyền root/sudo — xem thêm lệnh sudo trong Linux là gì để hiểu rõ khi nào cần dùng.

Mẹo: dùng VPS làm máy tải trung gian để download nhanh hơn

Nếu cần tải file từ một link trên Internet về VPS, đừng tải về máy tính rồi upload lại lên VPS — vừa tốn thời gian, vừa phụ thuộc tốc độ mạng cá nhân. Thay vào đó, mở terminal SSH kết nối thẳng vào VPS và tải trực tiếp bằng wget hoặc curl, tận dụng băng thông của trung tâm dữ liệu (thường nhanh hơn nhiều so với mạng nhà/công ty), file sau đó nằm sẵn trên VPS, muốn đưa về máy tính thì làm theo phần Download ở trên.

Câu hỏi thường gặp

PuTTY có tự kéo-thả file được không?

Không. PuTTY chỉ là công cụ SSH dòng lệnh. Muốn copy file bằng dòng lệnh phải dùng PSCP/PSFTP đi kèm; muốn kéo-thả trực quan, dùng WinSCP hoặc FileZilla.

Cách dùng VPS Linux upload video có khác gì upload file thường không?

Không khác về thao tác — vẫn dùng SCP/PSCP/WinSCP/FileZilla như hướng dẫn ở trên. Điểm cần lưu ý duy nhất là video thường dung lượng lớn, nên ưu tiên công cụ có thanh tiến trình và hỗ trợ resume thay vì lệnh scp thuần.

Cách copy file từ máy tính lên VPS khi chưa từng làm bao giờ?

Cách dễ nhất cho người mới là dùng FileZilla hoặc WinSCP theo các bước ở phần Upload và phần cấu hình WinSCP phía trên — không cần nhớ lệnh, chỉ cần kéo-thả.

Lỗi “Permission denied (publickey)” khi kết nối SCP/WinSCP thì xử lý sao?

Kiểm tra lại đang dùng đúng username SSH của VPS chưa. Nếu VPS cấp SSH key, đảm bảo đã convert đúng định dạng .ppk (cho WinSCP/PuTTY) bằng PuTTYgen thay vì dùng thẳng file .pem.

Kết nối bị “Connection timed out” hoặc “Connection refused” phải làm sao?

Kiểm tra 3 điểm: IP VPS đã nhập đúng chưa, port 22 (hoặc port SSH tùy chỉnh) đã mở trên firewall của VPS chưa, và VPS có đang chạy hay không. Nếu đã kiểm tra cả 3 mà vẫn không kết nối được, xem thêm bài lỗi không vào được VPS để tra thêm các nguyên nhân khác.

Truyền file qua lại chỉ là một phần trong việc làm chủ VPS. Nếu chưa nắm chắc cách kết nối vào VPS ngay từ đầu, có thể xem trước bài cách đăng nhập VPS trên Mac (đã có trên site) hoặc đọc thêm [LINK: Cách kết nối/Remote vào VPS (SSH/RDP/Putty) — bài pillar SSH/RDP/PuTTY đầy đủ, chưa xuất bản] khi bài này được viết, trước khi thực hành các lệnh SCP/PSCP ở trên.

Leave a Reply