127.0.0.1 SỔ TAY VẬN HÀNH MÁY CHỦ & CỨU HỘ WORDPRESS THỰC CHIẾN
MINH BẠCH

Cần biết gì về Linux, Terminal và SSH trước khi thuê VPS? Hành trang chống bỡ ngỡ

Nắm vững bản chất Linux, Terminal, Shell và SSH trước khi thuê VPS: phân biệt laptop với server, đọc cấu trúc lệnh, giữ SSH Key và dùng quyền sudo an toàn.

VPS căn bản // localhost.vn
Mục lục bài viết (8 mục)
ĐÚC KẾT THỰC CHIẾN

Bạn không cần thuộc lòng hàng trăm câu lệnh Linux mới dám thuê VPS, nhưng bắt buộc phải trả lời được 4 câu hỏi trước khi gõ Enter: lệnh này đang chạy trên máy nào, dưới quyền ai, làm thay đổi cái gì và nếu sai thì khôi phục ra sao.

Trước khi quẹt thẻ thuê con VPS đầu tiên trong đời, bạn hoàn toàn chưa cần phải thuộc làu hàng trăm câu lệnh hệ thống như một kỹ sư Linux lão luyện. Thứ thực sự bảo vệ bạn khỏi những pha “tự bắn vào chân” kinh điển là khả năng trả lời rành mạch 4 câu hỏi trước mỗi lần nhấn phím Enter: Câu lệnh này đang chạy trên máy nào (laptop của mình hay VPS ở xa)? Nó đang chạy dưới quyền hạn của ai? Nó sẽ làm thay đổi hoặc xóa mất thứ gì? Và làm sao để kiểm tra kết quả sau khi chạy xong? Nắm chắc tư duy nền tảng này, bạn sẽ thoát khỏi cảnh nhắm mắt copy–paste câu lệnh trên mạng rồi ngồi cầu nguyện.

Nếu bạn chưa từng một lần chạm vào giao diện dòng lệnh đen sì của máy chủ, hãy cứ thư thả đọc hết bài viết này như một buổi cà phê nhập môn cùng đàn anh — chưa cần tốn một đồng nào thuê VPS vội. Khi đã hiểu rõ bản chất của Linux, Terminal, Shell và SSH, bước sang các bài thực hành trên máy chủ Lab ở phần sau bạn sẽ thấy mọi thứ sáng rõ và chủ động hơn rất nhiều.

Đừng đánh đồng Linux, Terminal, Shell và SSH làm một!

Người mới thường gọi chung màn hình đen chữ trắng là “màn hình SSH” hay “cửa sổ Linux”, nhưng thực chất đây là bốn mảnh ghép hoàn toàn khác nhau đang phối hợp với nhau:

  • Linux (và Ubuntu): Linux là nhân hệ điều hành phổ biến nhất trong thế giới máy chủ VPS vì sự ổn định, nhẹ nhàng và miễn phí bản quyền; còn Ubuntu (ví dụ bản Ubuntu 24.04 LTS) là một bản phân phối hoàn chỉnh (Distro) đóng gói nhân Linux kèm theo trình quản lý gói phần mềm apt và lịch trình cập nhật rõ ràng. Lưu ý nhỏ: khi bạn chọn Ubuntu 24.04 lúc tạo VPS, bạn mới chỉ nhận được một hệ điều hành trống — bên trong đó chưa hề có sẵn Web Server hay WordPress đâu nhé!
  • Terminal (Thiết bị đầu cuối): Là ứng dụng cửa sổ giao diện trên máy tính cá nhân của bạn (như Terminal / iTerm2 trên macOS, hoặc Windows Terminal trên Windows), đóng vai trò như cái màn hình và bàn phím để bạn gõ chữ vào và nhìn kết quả hiện ra.
  • Shell (Trình thông dịch lệnh): Là chương trình chạy bên trong cửa sổ Terminal, có nhiệm vụ lắng nghe câu lệnh bạn gõ, dịch lại cho hệ điều hành hiểu và trả kết quả về. Trên máy Mac hay Linux thường dùng zsh hoặc bash, trong khi Windows lại có PowerShell hay CMD với quy tắc cú pháp rất khác nhau. Bởi vậy, đừng bê nguyên một câu lệnh viết cho bash của Linux thả thẳng vào PowerShell trên Windows rồi thắc mắc sao máy cứ báo lỗi đỏ lòm.
  • SSH (Secure Shell): Là giao thức mạng được mã hóa an toàn, đóng vai trò như một “đường hầm điều khiển từ xa” nối từ cửa sổ Terminal trên laptop của bạn xuyên qua Internet tới thẳng chương trình Shell đang chạy trên con VPS ở trung tâm dữ liệu.

Điểm cốt tử cần khắc cốt ghi tâm: Một khi đã đăng nhập SSH thành công, mọi câu lệnh bạn gõ trong cửa sổ đó đều đang tác động trực tiếp lên con VPS ở xa chứ không phải trên chiếc laptop trước mặt bạn. Và ngược lại, khi bạn bấm dấu X tắt cửa sổ Terminal đi, bạn chỉ vừa cúp máy điện thoại ngắt kết nối điều khiển mà thôi — con VPS ngoài kia vẫn đang chạy bình thường và đồng hồ tính tiền thuê máy của nhà cung cấp vẫn tích tắc nhảy đều!

Sơ đồ terminal trên máy cá nhân kết nối SSH tới shell của VPS

Cửa sổ Terminal vẫn nằm trên màn hình laptop của bạn, nhưng sau khi đi qua đường hầm SSH, bàn phím của bạn đang điều khiển trực tiếp bộ não Shell của con VPS ở trung tâm dữ liệu.

Làm sao biết chắc mình đang đứng trên Laptop hay đã ở trong VPS?

Thông thường, dòng nhắc lệnh (Prompt) ở đầu mỗi dòng sẽ hiển thị theo cấu trúc ten_user@ten_may:thu_muc$. Tuy nhiên, giao diện dòng nhắc này hoàn toàn có thể bị tùy biến màu sắc hoặc rút gọn đi, nên chỉ nhìn màu chữ để đoán máy là thói quen cực kỳ nguy hiểm. Bất cứ khi nào mở một tab Terminal lên mà thoáng chút nghi ngờ, hãy gõ ngay cụm 3 câu lệnh “chỉ đọc, vô hại 100%” dưới đây để định vị bản thân:

whoami
hostname
pwd

Trong đó: lệnh whoami trả lời bạn đang mang danh nghĩa tài khoản (User) nào; hostname báo tên định danh của chiếc máy tính đang thực thi lệnh; và pwd (Print Working Directory) in ra đường dẫn thư mục hiện tại mà bạn đang đứng. Tập thói quen kiểm tra 3 thông tin này trước khi chạy các lệnh xóa hay sửa cấu hình sẽ cứu bạn khỏi bi kịch kinh điển của dân IT: định dọn rác trên máy thử nghiệm nhưng lại gõ nhầm vào cửa sổ đang mở của máy chủ thật!

Mẹo nhỏ khi tự làm sổ tay ghi chép học tập: ở đầu mỗi khối lệnh, hãy luôn ghi chú rõ ràng nhãn [Chạy trên Laptop cá nhân] hoặc [Chạy trên VPS Lab]. Ví dụ điển hình nhất là thao tác khởi tạo cặp khóa SSH Key: bạn thực hiện trên Laptop cá nhân để giữ chiếc chìa khóa gốc (Private Key) nằm im trong máy mình; còn thao tác chạy lệnh cập nhật hệ điều hành apt update thì lại thực hiện sau khi đã chui vào trong VPS. Cùng gõ trên một ứng dụng Terminal đấy, nhưng bối cảnh đứng ở hai đầu chiến tuyến khác hẳn nhau.

Giải phẫu cấu trúc một câu lệnh Linux để đọc hiểu thay vì học vẹt

Thay vì nhìn câu lệnh như một câu thần chú ngoại ngữ, hãy tách nó ra làm 3 phần. Lấy ví dụ câu lệnh rất quen thuộc: ls -lah /var/log. Ở đây, ls là tên chương trình (liệt kê danh sách tệp); -lah là cụm cờ tùy chọn (Flags/Options) ghép lại từ -l (hiển thị dạng bảng chi tiết), -a (hiện cả tệp ẩn bắt đầu bằng dấu chấm) và -h (đổi dung lượng byte sang KB, MB, GB cho con người dễ đọc); còn /var/log là đối số đường dẫn mục tiêu. Mỗi khi gặp một câu lệnh lạ trên mạng mà không biết các chữ cái sau dấu gạch ngang có tác dụng gì, bạn chỉ cần gõ man ls (mở cuốn cẩm nang hướng dẫn tích hợp sẵn) hoặc ls --help để tra cứu ngay tại chỗ — bởi chỉ cần khác một chữ cái hoa hay thường trong cờ tùy chọn cũng đủ làm câu lệnh rẽ sang một hành động hoàn toàn khác.

Về cách viết đường dẫn thư mục (Path) trên Linux, hãy nhớ quy tắc vàng về dấu gạch chéo /:

  • Đường dẫn bắt đầu bằng dấu / (như /var/www/html hay /etc/nginx) là đường dẫn tuyệt đối (Absolute Path) — luôn tính từ gốc rễ cao nhất của toàn bộ ổ đĩa hệ thống, bất kể bạn đang đứng ở đâu.
  • Đường dẫn không có dấu / ở đầu (như wp-content/uploads) là đường dẫn tương đối (Relative Path) — được nối tiếp từ chính thư mục hiện tại mà bạn đang đứng (kiểm tra bằng lệnh pwd).
  • Ký hiệu dấu ngã ~ là chữ viết tắt cho thư mục nhà (Home Directory) của tài khoản hiện tại (ví dụ /home/ten_ban). Chính vì thế, gõ cd ~/lab (vào thư mục lab trong nhà mình) và gõ cd /lab (vào thư mục lab nằm ngay ngoài gốc hệ thống) là đi tới hai địa chỉ hoàn toàn khác nhau!

Ngoài ra, hãy làm quen với 3 ký hiệu điều hướng cực kỳ hay gặp: dấu > dùng để đổ kết quả đầu ra vào một tệp tin và sẽ xóa sạch nội dung cũ của tệp đó để ghi đè lên; dấu >> hiền lành hơn vì chỉ nối thêm dòng mới vào cuối tệp; còn dấu gạch đứng | (Pipe) dùng để chuyền kết quả của câu lệnh bên trái sang làm đầu vào cho câu lệnh bên phải xử lý tiếp. Một lưu ý nhỏ nhưng cứu mạng: trong các bài viết kỹ thuật, ký tự $ hoặc # ở đầu dòng chỉ là ký hiệu minh họa dấu nhắc hệ thống (báo hiệu lệnh chạy bằng user thường hay root) — bạn không gõ ký tự $ đó vào Terminal. Và tuyệt đối đừng vội nhấn Enter khi trong câu lệnh copy về vẫn còn nguyên những chữ giữ chỗ như IP_CUA_BAN hay TEN_MIEN_THU chưa được thay bằng thông tin thật của bạn!

Quyền tài khoản thường và quyền tối cao `sudo`: Tại sao không nên cầm dao mổ trâu đi gọt hoa quả?

Trong thiết kế bảo mật của Linux, tài khoản thông thường chỉ được phép sinh hoạt và chỉnh sửa trong phạm vi thư mục nhà của mình, không được phép tự ý xóa file hệ thống hay cài đặt phần mềm toàn cục. Khi bạn cần thực hiện các tác vụ quản trị cấp cao (như cài Nginx, sửa cấu hình mạng hay khởi động lại dịch vụ), bạn sẽ đặt từ khóa sudo (Superuser Do) ở đầu câu lệnh để mượn quyền quản trị viên tối cao trong tích tắc. Nếu gõ một câu lệnh mà bị mắng Permission denied (Từ chối truy cập), khoan hãy phản xạ vô điều kiện bằng cách bồi thêm chữ sudo vào đầu! Hãy dừng lại 5 giây để tự hỏi: tệp tin này thuộc sở hữu của ai, tại sao tài khoản hiện tại không chạm vào được, và việc dùng quyền tối cao đè lên có làm hỏng phân quyền của WordPress/PHP-FPM hay không?

Thói quen tốt nhất của dân quản trị chuyên nghiệp là: sinh hoạt hằng ngày bằng tài khoản thường, chỉ gọi sudo đúng lúc thực sự cần thiết, và tránh đăng nhập trực tiếp bằng tài khoản root suốt cả buổi làm việc. Hãy tưởng tượng làm việc dưới quyền root giống như lái xe tăng trong ngõ nhỏ không có phanh bảo hiểm: nếu bạn lỡ tay gõ nhầm một lệnh xóa hay đổi quyền ở tài khoản thường, hệ điều hành sẽ chặn bạn lại ngay; nhưng nếu bạn đang đội vương miện root hay dùng sudo, máy chủ sẽ ngoan ngoãn chấp hành mệnh lệnh xóa sạch hệ điều hành mà không hỏi lại nửa lời!

Ba câu kiểm trước lệnh có sudo: mục tiêu, quyền và đường quay lại

Nguyên tắc 3 giây trước khi bấm Enter cho bất kỳ câu lệnh nào có chữ sudo: Đúng đường dẫn mục tiêu chưa? Có thực sự cần quyền tối cao không? Và nếu cấu hình mới bị lỗi thì làm sao khôi phục lại file gốc ban đầu?

Cặp khóa SSH Key: Đâu là “ổ khóa” đem gắn lên VPS, đâu là “chìa khóa” phải cất kỹ trong người?

Thay vì dùng mật khẩu chữ dễ bị các công cụ tự động dò đoán (Brute-force), xác thực qua SSH Key sử dụng một cặp khóa mật mã học đi đôi với nhau: Public Key (Khóa công khai) và Private Key (Khóa bí mật/Khóa riêng). Cách hình dung dễ nhất: Public Key (thường có đuôi .pub) giống như cái ổ khóa — bạn thoải mái đem gắn lên bảng điều khiển của nhà cung cấp VPS hoặc chép vào tệp ~/.ssh/authorized_keys trên máy chủ; ai nhìn thấy cái ổ khóa này cũng chẳng làm hại gì được bạn. Ngược lại, Private Key chính là chiếc chìa khóa gốc duy nhất mở được ổ khóa kia — nó bắt buộc phải nằm im trên chiếc laptop cá nhân mà bạn kiểm soát hoàn toàn, tuyệt đối không bao giờ gửi qua khung chat hỗ trợ, đính kèm vào Ticket hay vô tình chụp dính vào ảnh màn hình đăng lên mạng!

Khi tạo cặp khóa SSH trên máy cá nhân, bạn nên đặt thêm một mật khẩu bảo vệ khóa gọi là Passphrase. Lưu ý rằng Passphrase này dùng để giải mã chính tệp Private Key trên laptop của bạn (phòng trường hợp kẻ gian chôm được tệp khóa trong máy tính của bạn thì vẫn không dùng ngay được), hoàn toàn độc lập với mật khẩu của tài khoản người dùng bên trong hệ điều hành Linux. Bên cạnh đó, mỗi khóa đều có một chuỗi băm nhận diện ngắn gọn gọi là Fingerprint (Dấu vân tay khóa): bạn dùng Fingerprint của Public Key để kiểm tra xem mình đã nạp đúng chìa khóa lên VPS chưa; còn máy chủ VPS cũng có một Host Key Fingerprint riêng để trình SSH Client trên máy bạn nhận diện đúng mặt chủ nhà.

Chính vì cơ chế này, ở lần đầu tiên bạn gõ lệnh kết nối SSH tới một địa chỉ IP VPS mới tinh, Terminal sẽ dừng lại hỏi bạn có tin tưởng Host Key Fingerprint của máy chủ này không. Khi đã xác nhận đúng IP máy mình vừa tạo (hoặc đối chiếu qua Console của nhà cung cấp), bạn gõ yes để máy tính lưu dấu vân tay đó vào sổ tay known_hosts. Nếu một ngày đẹp trời bạn kết nối lại mà màn hình hiện cảnh báo chữ hoa dữ dội rằng Host Key đã thay đổi (REMOTE HOST IDENTIFICATION HAS CHANGED), hãy dừng lại kiểm tra ngay: phải chăng bạn vừa cài lại (Rebuild) hệ điều hành cho VPS, hay địa chỉ IP đó đã được cấp sang một máy chủ khác, hay đang có ai đó chặn giữa đường truyền? Chỉ xóa dòng khóa cũ trong known_hosts khi bạn biết chắc chắn 100% nguyên nhân là do chính mình vừa cài lại máy chủ.

5 tiêu chuẩn tự kiểm tra trước khi bắt tay vào thuê VPS thực hành

Sau khi đọc xong cẩm nang nhập môn này, hãy tự vấn xem bạn đã nắm chắc 5 điểm mấu chốt sau chưa:

  1. Phân biệt rõ lúc nào câu lệnh đang chạy trên Laptop cá nhân, lúc nào đang chạy bên trong con VPS qua đường hầm SSH.
  2. Nhìn một đường dẫn biết ngay đó là đường dẫn tuyệt đối (/...), tương đối hay thư mục nhà (~).
  3. Biết dùng bộ 3 lệnh whoami, hostname, pwd để xác nhận vị trí và hiểu vì sao phải cẩn trọng trước mỗi chữ sudo.
  4. Phân biệt rạch ròi giữa Public Key (đưa lên VPS) và Private Key (giữ tuyệt mật trên máy cá nhân).
  5. Biết rằng trên trang quản lý của nhà cung cấp VPS luôn có công cụ Web Console để làm cửa cứu hộ trước khi dám đụng tay vào sửa cấu hình SSH hay bật tường lửa Firewall.

Nếu cả 5 gạch đầu dòng trên đều đã thông suốt, xin chúc mừng — bạn đã sẵn sàng bước vào các bài thực hành khởi tạo VPS Lab (không chứa dữ liệu khách hàng thật, có đặt trần chi phí và xóa máy ngay sau khi học xong). Trong suốt thời gian luyện tập trên Lab, website chính thức của bạn cứ để nguyên trên môi trường hiện tại cho khách truy cập bình thường.

Lộ trình học từ nhận diện máy tới SSH và quyền rồi mới cài web server

Đi từng bậc thang vững chắc: làm chủ kết nối SSH và phân quyền hệ điều hành trước, rồi việc cài đặt Web Server hay WordPress phía sau sẽ nhẹ nhàng như trở bàn tay.

Kỹ năng báo lỗi chuẩn dân chuyên: Cần gom những thông tin gì khi nhờ hỗ trợ?

Khi gõ lệnh mà gặp thông báo lỗi, thay vì chụp một bức ảnh mờ tịt hoặc nhắn vỏn vẹn câu “Anh ơi sao em không vào được VPS?” (một câu hỏi khiến mọi kỹ sư hỗ trợ đều bó tay vì không biết do đứt cáp mạng, sai IP, sai khóa SSH hay bị tường lửa chặn), hãy ghi lại gọn gàng 4 thông tin: (1) Câu lệnh chính xác bạn vừa gõ (đã xóa bỏ mật khẩu/token nhạy cảm), (2) Nguyên văn dòng thông báo lỗi trả về trên màn hình, (3) Tài khoản User và máy chủ bạn đang đứng, cùng (4) Thao tác bạn vừa làm ngay trước khi lỗi xuất hiện. Lưu ý tối quan trọng: trước khi gửi ảnh chụp màn hình lên diễn đàn hay nhóm hỗ trợ, hãy kiểm tra kỹ để chắc chắn trên ảnh không lộ Private Key, mật khẩu Database hay thông tin khách hàng.

Và nguyên tắc vàng khi xử lý sự cố: Khi chưa hiểu rõ nguyên nhân gốc rễ, hãy dừng ngay việc gõ thử liên tiếp năm bảy câu lệnh sửa chữa khác nhau tìm thấy trên mạng! Việc sửa chồng chéo nhiều thứ cùng lúc sẽ xóa sạch dấu vết ban đầu và biến một lỗi nhỏ thành một mớ bòng bong không thể gỡ nổi. Ở các bài thực hành tiếp theo trong series, tụi mình sẽ luôn hướng dẫn kèm cách xác minh kết quả và cách khôi phục lại trạng thái cấu hình cũ cho từng thao tác một.

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

Tôi đang dùng laptop chạy Windows hoặc macOS thì có bắt buộc phải cài lại hệ điều hành Linux lên laptop mới quản trị được VPS không?
Hoàn toàn không cần! Cả Windows 10/11 (qua Windows Terminal / PowerShell) lẫn macOS đều đã tích hợp sẵn trình OpenSSH Client chính thống. Bạn cứ dùng hệ điều hành quen thuộc trên máy cá nhân của mình để mở đường hầm SSH điều khiển con VPS Linux ở xa một cách mượt mà.

Tôi đã dùng quản trị WordPress (wp-admin) thành thạo nhiều năm rồi thì có coi như biết quản trị VPS chưa?
Chưa đâu nhé! Quản trị bên trong /wp-admin/ là quản trị tầng ứng dụng nội dung; còn quản trị VPS là bạn phải gánh thêm toàn bộ tầng bên dưới gồm hệ điều hành Linux, bảo mật mạng, cấu hình Web Server, tối ưu PHP/Database, giám sát ổ cứng và tự thiết kế luồng sao lưu khôi phục.

Các câu lệnh trong chuỗi bài viết của localhost.vn có thể copy–paste chạy an toàn tuyệt đối trên mọi máy chủ không?
Trong thế giới hệ thống, không có câu lệnh nào nhắm mắt chạy bừa mà an toàn cho mọi hoàn cảnh cả. Trước khi nhấn Enter bất kỳ câu lệnh nào, hãy luôn đối chiếu đúng phiên bản hệ điều hành (ví dụ Ubuntu 24.04), kiểm tra đường dẫn thư mục thực tế trên máy của bạn và thay thế chính xác các biến số định danh (như tên miền, địa chỉ IP, tên user) cho khớp với môi trường của mình.

Tài liệu tham khảo chuẩn: Ubuntu Server Documentation — OpenSSH Server, GNU Coreutils Manual.

Đọc tiếp trong cùng series: Lộ trình cài WordPress trên VPS từ A đến Z.

Tài liệu tham khảo & Kiểm chứng

CẦN KỸ SƯ HỖ TRỢ TRỰC TIẾP? Đang làm theo hướng dẫn nhưng vướng lỗi hệ thống hoặc sợ đụng chạm dữ liệu đang chạy?

Gửi địa chỉ URL qua Zalo để kỹ thuật viên localhost.vn kiểm tra sơ bộ miễn phí trước khi quyết định can thiệp.

Xem bảng dịch vụ
Góc thực chiến localhost.vn

Mọi hướng dẫn đều dựa trên số liệu đo đạc, log thực tế và nguyên tắc "luôn có đường lùi (Snapshot/Backup) trước khi gõ lệnh".

Nguyên tắc biên tập & Minh bạch ↗