Nếu bạn đã từng sử dụng một máy chủ Linux từ xa, chắc chắn rằng bạn đã từng nghe đến SSH (Secure Shell). Đây là một công cụ quan trọng cho việc quản lý máy chủ từ xa, nhưng bạn có biết rằng nó còn nhiều tính năng hữu dụng khác ngoài việc cung cấp kết nối an toàn? Với những kiến thức đúng đắn về SSH, bạn có thể cải thiện trải nghiệm sử dụng máy chủ của mình, xử lý nhiều tác vụ khác nhau một cách hiệu quả hơn và tận hưởng sự tiện lợi của nó. Trong bài viết này, chúng ta sẽ khám phá những tính năng SSH ấn tượng nhất mà bạn có thể chưa biết đến, tất cả đều thiết kế nhằm giúp công việc từ xa của bạn trở nên mượt mà và hiệu quả hơn.
5. Multiplexing SSH để tăng tốc kết nối
Tái sử dụng kết nối
SSH multiplexing chính là khái niệm thú vị mà nhiều người sử dụng SSH có thể không biết đến. Nó cho phép bạn tạo ra một kết nối “chủ” duy nhất đến máy chủ mà từ đó bạn có thể tái sử dụng cho nhiều phiên SSH bổ sung sau này. Thay vì phải mở một phiên SSH mới mỗi khi bạn cần truy cập vào máy chủ, multiplexing cho phép bạn thiết lập một kết nối chính và sử dụng nó cho các phiên bổ sung, giúp tiết kiệm thời gian và tăng tốc độ kết nối. Khi đã thiết lập một kết nối chính, tất cả các kết nối bổ sung đến cùng một máy chủ sẽ gần như tức thì. Bạn chỉ cần thêm các dòng sau vào tệp cấu hình ~/.ssh/config
của bạn:
Host *
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 10m
Bây giờ, dù bạn đang tải một tệp lớn hay quản lý nhiều terminal cùng lúc, tốc độ kết nối của bạn sẽ cải thiện đáng kể.
4. Sử dụng SSH để tunneling
Định tuyến lưu lượng của bạn qua một máy chủ từ xa
Công cụ tunneling qua SSH là một phương thức hiệu quả và an toàn để định tuyến lưu lượng internet của bạn qua một máy chủ từ xa. Bạn có thể dễ dàng tạo ra một SOCKS proxy với SSH, điều này cho phép bạn tạo đường hầm cho lưu lượng duyệt web và các dữ liệu khác thông qua một kết nối mã hóa đến máy chủ SSH của bạn, gần giống như việc sử dụng một VPN cá nhân. Do đó, khi bạn kết nối với máy chủ thông qua câu lệnh sau:
ssh -D 8080 user@host
Lưu lượng web của bạn sẽ được định tuyến qua máy chủ đó, giúp bạn có quyền truy cập an toàn vào các dịch vụ đang chạy cục bộ trên máy chủ. Đây là cách tuyệt vời để bảo vệ thông tin khi bạn sử dụng một kết nối không an toàn hoặc khi bạn muốn che giấu địa chỉ IP thực của mình.
3. Nén luồng SSH của bạn
Sử dụng ít dữ liệu hơn khi sử dụng SSH
Khi bạn làm việc qua một mạng không ổn định hoặc hạn chế về băng thông, nén SSH có thể là một giải pháp tuyệt vời. Khi nén SSH được kích hoạt, dữ liệu giữa máy client và máy chủ sẽ được nén ngay lập tức, giúp giảm thiểu lượng băng thông cần thiết và có thể làm cho kết nối của bạn nhanh hơn. Mặc dù việc nén có thể yêu cầu thêm tài nguyên tính toán và thực tế có thể chậm lại trong một số trường hợp, đặc biệt là khi bạn đang sử dụng một kết nối internet nhanh hơn, nhưng có thể nói rằng những lợi ích mang lại thường vượt xa những nhược điểm.
Để kích hoạt chức năng này, bạn chỉ cần thêm -C
vào lệnh ssh của bạn:
ssh -C user@host
Bạn cũng có thể thiết lập nó cấu hình SSH từ client bằng cách thêm dòng “Compression yes” vào tệp cấu hình của mình.
2. Chuyển tệp với SFTP
Tải tệp dễ dàng hơn
Khi bạn cần chuyển tệp giữa máy tính cục bộ và máy chủ từ xa, SFTP (Secure File Transfer Protocol) chính là công cụ tuyệt vời mà bạn cần. SFTP cho phép bạn thực hiện việc chuyển tệp một cách an toàn mà không kém phần tiện lợi so với các phương pháp truyền thống. Để bắt đầu một phiên SFTP, bạn chỉ cần chạy lệnh sau:
sftp user@host
Sau khi đã kết nối, bạn có thể sử dụng các lệnh như get
để tải tệp xuống hoặc put
để tải lên, tất cả đều thực hiện trong một kết nối SSH bảo mật.
1. Chuyển tiếp đại lý khóa SSH
Sử dụng dữ liệu của bạn cục bộ mà không cần lo lắng về việc để lộ thông tin xác thực trên máy chủ
Chuyển tiếp đại lý khóa SSH là một đặc tính rất hữu ích cho phép bạn sử dụng các khóa SSH cục bộ trên các máy chủ từ xa mà không cần phải sao chép chúng. Điều này cực kỳ hữu ích khi bạn cần truy cập đến một máy chủ thứ ba từ bên trong phiên SSH hiện tại và muốn giữ cho khóa riêng của mình an toàn trên máy tính cục bộ. Bạn có thể bật chế độ này bằng cách sử dụng lệnh sau:
ssh -A user@host
Ngay sau khi đăng nhập, bất kỳ lệnh nào yêu cầu xác thực khóa SSH sẽ tự động dùng khóa cục bộ của bạn, giúp bảo vệ thông tin xác thực của bạn khỏi việc bị rò rỉ ra ngoài máy chủ từ xa.
Chúng tôi rất mong nhận được ý kiến phản hồi từ bạn! Hãy chia sẻ cảm nghĩ của bạn trong phần bình luận bên dưới và nhớ giữ cho các bình luận luôn tôn trọng và lịch sự.