SSH là gì ? 15 lệnh SSH cơ bản mọi lập trình viên nên biết
SSH là gì ?
SSH (Secure Shell) là giao thức mạng cho phép kết nối và điều khiển máy chủ từ xa một cách bảo mật thông qua dòng lệnh. SSH được sử dụng phổ biến để quản trị VPS, server Linux, cloud server và hệ thống DevOps từ bất kỳ đâu trên Internet thông qua giao diện dòng lệnh (terminal)
Thông qua SSH, bạn có thể:
- Truy cập máy chủ từ xa
- Cài đặt phần mềm
- Quản lý file
- Cấu hình hệ thống
- Triển khai website hoặc ứng dụng
Không giống các giao thức cũ như Telnet, điểm mạnh của SSH là toàn bộ dữ liệu truyền giữa máy tính và server đều được mã hóa, giúp bảo vệ thông tin khỏi việc nghe lén hoặc tấn công mạng.
Ngày nay, SSH gần như là công cụ bắt buộc đối với lập trình viên, DevOps và quản trị hệ thống.
SSH hoạt động như thế nào?
SSH hoạt động theo mô hình Client – Server.
- SSH Client: phần mềm trên máy tính của bạn (Terminal, PuTTY, MobaXterm…)
- SSH Server: dịch vụ chạy trên máy chủ (thường là OpenSSH)
Bạn có thể tham khảo thêm: Top 6 phần mềm SSH miễn phí tốt nhất
Quy trình kết nối:
- Client gửi yêu cầu kết nối tới server
- Server xác thực người dùng
- Hai bên thiết lập kênh mã hóa
- Người dùng truy cập shell của server
Mặc định SSH chạy trên port 22.
Các lệnh SSH cơ bản mọi lập trình viên nên biết
Sau khi kết nối SSH vào server, bạn sẽ sử dụng các lệnh Linux thông qua terminal để quản trị hệ thống.
Dưới đây là những lệnh SSH quan trọng nhất.
1. Lệnh SSH để kết nối server
Lệnh cơ bản để kết nối tới server:
ssh username@server-ipVí dụ:
ssh root@192.168.1.10Lệnh này cho phép bạn đăng nhập vào server bằng user root. Sau khi chạy lệnh, hệ thống sẽ yêu cầu nhập password hoặc SSH key
2. SSH sử dụng port tùy chỉnh
Nếu server không dùng port mặc định 22, bạn cần chỉ định port bằng lệnh:
ssh -p 2222 root@192.168.1.10Trong đó:
- -p → chỉ định port SSH
- 2222 → port SSH của server
Việc đổi port SSH là một biện pháp bảo mật phổ biến để giảm nguy cơ bị tấn công brute force.
3. Lệnh kiểm tra thư mục hiện tại
pwdLệnh này hiển thị đường dẫn thư mục hiện tại mà bạn đang làm việc trên server
Ví dụ kết quả:
/var/www/htmlĐiều này giúp bạn biết chính xác vị trí đang thao tác trên hệ thống.
4. Lệnh xem danh sách file
lsLệnh này hiển thị tất cả file và thư mục trong thư mục hiện tại.
Một số tùy chọn phổ biến:
ls -lHiển thị thông tin chi tiết:
- Quyền truy cập
- Owner
- Dung lượng
- Ngày tạo
Lệnh nâng cao:
ls -lahHiển thị thêm:
- File ẩn
- Dung lượng dễ đọc (KB, MB)
Đây là lệnh được sử dụng rất thường xuyên khi quản lý server.
5. Lệnh chuyển thư mục
Đi đến 1 thư mục cụ thể bạn gõ như sau
cd folder-nameVí dụ:
cd /var/wwwChuyển đến thư mục chứa website.
Một số lệnh hữu ích:
cd ..Quay lại thư mục cha.
cd ~Quay về thư mục home của user.
6. Lệnh tạo thư mục
mkdir ten-thu-mucVí dụ:
mkdir projectTạo thư mục project trong thư mục hiện tại.
Tạo nhiều thư mục cùng lúc:
mkdir folder1 folder2 folder37. Lệnh xóa file
rm filenameVí dụ:
rm test.txtXóa thư mục:
rm -rf folderXóa thư mục bắt buộc:
rm -rf folderGiải thích:
- -r → xóa thư mục và toàn bộ nội dung
- -f → xóa không cần xác nhận
Lệnh này xoá bắt buộc cần cẩn thận khi sử dụng.
8. Lệnh sao chép file
cp file1 file2Ví dụ:
cp index.html backup.htmlSao chép file index.html đặt tên thành backup.html
Sao chép thư mục:
cp -r folder backup-folder9. Lệnh di chuyển file
mv file1 file2Ví dụ đổi tên file:
mv test.txt demo.txtDi chuyển file:
mv index.html /var/www10. Lệnh nano – chỉnh sửa file
nano filenameNano là trình chỉnh sửa file đơn giản và dễ sử dụng trên Linux
Ví dụ:
nano nginx.confCác phím cơ bản:
- CTRL + X → thoát
- CTRL + O → lưu file
11. Lệnh vim – editor mạnh cho lập trình viên
vim filenameVí dụ:
vim config.phpVim là editor mạnh mẽ nhưng cần thời gian học.
Một số phím cơ bản:
- :wq → lưu và thoát
- i → chế độ chỉnh sửa
- ESC → thoát chỉnh sửa
12. Lệnh cập nhật hệ thống
Đối với Ubuntu / Debian:
apt updateLệnh này cập nhật danh sách package từ repository.
Sau đó chạy:
apt upgradeđể cập nhật các phần mềm đã cài.
13. Lệnh cài đặt phần mềm
Ví dụ cài Webserver Nginx:
apt install nginx14. Lệnh kiểm tra tài nguyên server
Kiểm tra CPU và RAM:
topLệnh này hiển thị:
- CPU usage
- RAM usage
- Tiến trình đang chạy
Đây là công cụ quan trọng để giám sát hiệu suất server.
Hoặc
htopLà phiên bản nâng cao, có màu sắc, giao diện trực quan, hỗ trợ chuột và dễ dàng cuộn hoặc quản lý tiến trình dễ dàng hơn, đặc biệt trên các hệ thống hiện đại.
15. Lệnh kiểm tra dung lượng ổ đĩa
df -hHiển thị dung lượng ổ đĩa của server
Ví dụ:
Filesystem Size Used Avail
/dev/vda1 40G 15G 25GGiúp bạn biết server còn bao nhiêu dung lượng trống.
16. Lệnh kiểm tra port đang chạy
netstat -tulpnLệnh này giúp kiểm tra dịch vụ nào đang chạy trên server.
Một số mẹo bảo mật SSH quan trọng
Để bảo vệ server tốt hơn, bạn nên:
- Sử dụng SSH key thay vì password
- Đổi port SSH mặc định
- Tắt login root
- Giới hạn IP truy cập
- Cài Fail2Ban chống brute force
Những biện pháp này giúp giảm nguy cơ bị hacker tấn công server.
Kết luận
SSH (Secure Shell) là công cụ quan trọng giúp lập trình viên và quản trị viên hệ thống truy cập và điều khiển server từ xa một cách bảo mật. Việc nắm vững các lệnh SSH cơ bản giúp bạn quản lý server Linux hiệu quả hơn, triển khai ứng dụng nhanh hơn và đảm bảo hệ thống hoạt động ổn định.
Nếu bạn thường xuyên làm việc với VPS hoặc server Linux, SSH là kỹ năng bắt buộc phải thành thạo.
