L a y o f f s

SSH Tunneling là cách mạnh mẽ để tạo kết nối an toàn giữa các máy tính. Bài viết này sẽ hướng dẫn ngắn gọn cách dùng Local Port Forwarding, Remote Port ForwardingDynamic Port Forwarding với các lệnh mẫu.

1. Local Port Forwarding

Dùng để chuyển tiếp cổng từ máy local đến máy remote qua SSH.

Ví dụ: Bạn muốn truy cập web server (cổng 80) trên máy remote (192.168.1.100) từ máy local.

Lệnh:

 
 
ssh -L 8080:192.168.1.100:80 user@ssh_server
  • 8080: cổng local bạn mở.
  • 192.168.1.100:80: địa chỉ và cổng đích trên remote.
  • user@ssh_server: máy SSH trung gian.
Thử ngay: Mở trình duyệt, gõ localhost:8080, bạn sẽ thấy trang web từ remote.

2. Remote Port Forwarding
Ngược lại, chuyển tiếp cổng từ remote về local.
Ví dụ: Máy local có web server (cổng 3000), bạn muốn truy cập từ remote qua SSH server.
Lệnh:
ssh -R 9000:localhost:3000 user@ssh_server
  • 9000: cổng trên SSH server.
  • localhost:3000: cổng local bạn muốn chia sẻ.
Kiểm tra: Từ SSH server, truy cập localhost:9000 để xem nội dung từ máy local.

3. Dynamic Port Forwarding
Tạo proxy SOCKS động, linh hoạt cho nhiều kết nối.
Ví dụ: Dùng máy local làm proxy để truy cập nhiều dịch vụ qua SSH server.
Lệnh:
 
 
ssh -D 1080 user@ssh_server
  • 1080: cổng SOCKS trên local.
Cách dùng: Cấu hình proxy trong trình duyệt (SOCKS5, localhost:1080), rồi truy cập bất kỳ trang nào qua SSH server.

Lưu ý
  • Thay user@ssh_server bằng thông tin SSH của bạn.
  • Đảm bảo SSH server đã bật AllowTcpForwarding trong /etc/ssh/sshd_config.