
Nếu bạn đã từng làm việc với máy chủ, có lẽ bạn đã gõ ssh vào terminal mà không cần suy nghĩ nhiều. Nhưng khi bạn bị khóa tài khoản lúc 2 giờ sáng hoặc việc truyền tệp liên tục thất bại, việc hiểu rõ cơ chế của SSH (Secure Shell) và SCP (Secure Copy Protocol) trở nên vô cùng quý giá.
SSH cho phép bạn đăng nhập vào một máy tính từ xa và chạy các lệnh một cách an toàn. Trước SSH, các công cụ như Telnet truyền mọi thứ - bao gồm cả mật khẩu - dưới dạng văn bản thuần túy. SSH đã khắc phục điều này bằng cách mã hóa toàn bộ phiên làm việc.
Theo mặc định, SSH kết nối qua cổng 22. Đây là một "cổng nổi tiếng" được dành riêng cho các dịch vụ hệ thống. Mặc dù bạn không thể ẩn mình khỏi những kẻ tấn công có quyết tâm, việc chuyển SSH sang một cổng không chuẩn (như 2222) sẽ giảm đáng kể các nỗ lực tấn công vét cạn tự động.
Để kết nối đến một cổng tùy chỉnh:
ssh -p 2222 user@yourserver.com
Mật khẩu chậm và không an toàn. Hãy tạo một cặp khóa Ed25519 (nó nhanh hơn và an toàn hơn RSA):
ssh-keygen -t ed25519 -C "your_email@example.com"
Sao chép khóa công khai lên máy chủ của bạn. Từ đó trở đi, bạn đăng nhập an toàn và tức thì.
ssh-copy-id user@yourserver.com
Ngừng ghi nhớ địa chỉ IP và cổng. Tạo một tệp cấu hình SSH (~/.ssh/config) để tạo các bí danh rõ ràng cho máy chủ của bạn.
Host myserver
HostName 192.168.1.100
User alice
Port 2222
IdentityFile ~/.ssh/id_ed25519
Giờ đây, việc kết nối đơn giản như gõ:
ssh myserver
SCP sử dụng SSH bên dưới để truyền tệp giữa các máy. Cú pháp đơn giản là scp source destination.
Sao chép lên máy chủ:
scp myfile.txt myserver:/home/alice/
Sao chép từ máy chủ (lưu ý ./ ở cuối):
scp myserver:/home/alice/myfile.txt ./
Trong khi SSH sử dụng chữ -p viết thường cho các cổng tùy chỉnh, SCP sử dụng chữ -P viết hoa.
scp -P 2222 myfile.txt user@server:/path/
SCP rất tuyệt vời cho việc truyền tệp nhanh chóng, nhưng nó không phải lúc nào cũng là công cụ tốt nhất cho công việc.
rsync: Công cụ tối ưu để đồng bộ hóa thư mục. Nó chỉ truyền các khối delta đã thay đổi, giúp tăng tốc đáng kể cho các thư mục lớn. (ví dụ: rsync -avzP local/ myserver:/remote/)| Tính năng | SCP | rsync | SFTP |
|---|---|---|---|
| Tiếp tục thư mục | ❌ Không | ✅ Có (--partial) | ✅ Có |
| Nén Delta | ❌ Toàn bộ tệp | ✅ Khác biệt cấp khối | ❌ Toàn bộ tệp |
| Điều hướng tương tác | ❌ Không | ❌ Không | ✅ Có |
| Khả dụng tiêu chuẩn | ✅ Mọi nơi | ⚠️ Cần rsync trên máy từ xa | ✅ Mọi nơi |
SSH có thể tạo đường hầm cho lưu lượng TCP tùy ý thông qua một đường ống được mã hóa, cho phép bạn truy cập các cơ sở dữ liệu riêng tư hoặc bỏ qua tường lửa một cách an toàn:
-L)Chuyển tiếp một cổng trên máy cục bộ của bạn đến một cơ sở dữ liệu nội bộ từ xa không được công khai:
# Connect local localhost:5432 to private RDS instance 10.0.1.25:5432 via bastion
ssh -L 5432:10.0.1.25:5432 user@bastion.example.com
-D)Biến máy chủ từ xa của bạn thành một proxy trình duyệt được mã hóa tức thì:
# Start SOCKS5 proxy on local port 1080
ssh -D 1080 -N user@remoteserver.com
Các VPC đám mây hiện đại giữ các cơ sở dữ liệu sản xuất và các nút worker trong các mạng con riêng tư không có địa chỉ IPv4 công khai. Thay vì SSH thủ công vào một bastion và nhảy từ đó, hãy sử dụng ProxyJump (-J) gốc:
# ~/.ssh/config configuration for transparent bastion hopping
Host bastion
HostName bastion.production.internal
User ec2-user
IdentityFile ~/.ssh/bastion_key.pem
Host internal-worker-01
HostName 10.0.2.144
User ubuntu
ProxyJump bastion
IdentityFile ~/.ssh/prod_nodes.pem
Giờ đây, việc gõ ssh internal-worker-01 sẽ tự động định tuyến và xác thực thông qua bastion một cách liền mạch chỉ trong một bước!
SSH thực thi các quyền hệ thống tệp nghiêm ngặt để ngăn chặn người dùng độc hại trên các máy nhiều người thuê đọc khóa riêng:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
chmod 600 ~/.ssh/authorized_keys
Công cụ tương tác: Cần xác minh quyền tệp Linux dạng bát phân và ký hiệu? Sử dụng Máy tính quyền Chmod Linux miễn phí của chúng tôi để nhanh chóng tính toán chính xác các quyền và giá trị umask.
Đừng để cửa trước máy chủ của bạn mở cho các bot tấn công vét cạn! Chỉnh sửa /etc/ssh/sshd_config để tăng cường cấu hình của bạn:
PasswordAuthentication no.PermitRootLogin no.curve25519-sha256.ufw allow from <your_ip> to any port 22.ssh-keygen -R hostname_or_ip.Bạn cần chuyển một thư mục lớn chứa nhiều file đến một máy chủ từ xa. Một số file có thể đã tồn tại trên máy chủ và bạn muốn giảm thiểu lưu lượng mạng bằng cách chỉ chuyển các thay đổi. Công cụ nào phù hợp nhất cho tác vụ này?
SSH và SCP là nền tảng cơ bản của các hệ thống đám mây và cơ sở hạ tầng DevOps. Bằng cách áp dụng khóa Ed25519, cấu trúc các hồ sơ ~/.ssh/config của bạn, thành thạo ProxyJump và chuyển tiếp cổng, và tăng cường sshd_config, bạn biến quyền truy cập từ xa mong manh thành một quy trình làm việc được mã hóa, chống đạn.
Làm sạch log AI CLI, tạo biểu thức cron, giải mã JWT và tính quyền chmod offline.

Hướng dẫn toàn diện về WireGuard site-to-site kernel mesh: định tuyến mã hóa thông lượng cao và tối ưu hóa MTU với kiến trúc cấp độ sản xuất cùng các ví dụ về mã.
Đọc tiếp
Hướng dẫn tăng cường bảo mật máy chủ Ubuntu trong môi trường sản xuất: thực thi khóa SSH, tường lửa UFW, ngăn chặn xâm nhập Fail2ban, nâng cấp tự động và ghi nhật ký auditd.
Đọc tiếp
Hướng dẫn thực tế để loại bỏ bảo mật chu vi mạng phẳng trong Kubernetes: NetworkPolicies mặc định từ chối, định danh workload SPIFFE/SPIRE và mTLS nghiêm ngặt.
Đọc tiếp