Thứ ba, 06/08/2013 | 00:00 GMT+7

Cách cài đặt và sử dụng Mosh trên VPS


Giới thiệu

Không nghi ngờ gì nữa, SSH là phương pháp thực tế để quản trị server từ xa. Tuy nhiên, sự thống trị của nó không nghĩa là nó không có những sắc thái riêng trong những hoàn cảnh nhất định. Nếu bạn đã từng cố gắng duy trì kết nối SSH khi đang di chuyển bằng kết nối di động, bạn sẽ đánh giá cao tình cảm này.

Mosh nhận tất cả các lợi ích bảo mật của SSH và xây dựng trên nó khả năng chịu đựng tốt hơn đối với các điều kiện mạng kém và kết nối chuyển vùng. Nó cũng làm tăng khả năng phản hồi và giảm mức sử dụng băng thông bằng cách chỉ giao tiếp các thay đổi trạng thái đối với vùng màn hình hiện đang hiển thị, thay vì truyền các cache hoàn chỉnh.

Việc khởi tạo và xác thực kết nối với Mosh xảy ra thông qua kết nối SSH thông thường, nghĩa là chỉ cần một số cấu hình bổ sung và mọi cơ chế bảo mật dựa trên khóa hiện tại sẽ hoạt động hoàn hảo. Sau khi được xác thực, một khóa sẽ được thương lượng và Mosh chuyển sang giao tiếp thông qua các biểu đồ dữ liệu UDP được mã hóa, làm cho phiên hoạt động linh hoạt hơn với các IP client thay đổi và sự cố kết nối có thể phổ biến với các kết nối di động.

Những lợi ích này làm cho Mosh trở thành một lựa chọn tuyệt vời để cài đặt trên VPS của bạn cho những trường hợp khi bạn cần thực hiện một tác vụ khi đang di chuyển.

Cài đặt

Để bắt đầu, trước tiên phải cài đặt Mosh trên cả client và server . May mắn là các gói Mosh tồn tại trên hầu hết các bản phân phối phổ biến và dưới đây là phương pháp cài đặt cho một số bản phân phối được cung cấp trên DigitalOcean.

Trên Ubuntu:

sudo apt-get install python-software-properties  sudo add-apt-repository ppa:keithw/mosh  sudo apt-get update  sudo apt-get install mosh

Trên Debian:

sudo apt-get install mosh

Trên Arch Linux:

pacman -S mosh

Trên Fedora:

sudo yum install mosh

Đối với bất kỳ hệ điều hành nào khác, chẳng hạn như OSX hoặc Windows, vui lòng tham khảo tài liệu Mosh để tìm phương pháp cài đặt phù hợp nhất.

Cấu hình firewall

Nếu bạn đã cấu hình firewall trên VPS của bạn ( được khuyến khích ), bạn cũng cần mở thêm các cổng mà Mosh yêu cầu.

Nếu bạn đang sử dụng trực tiếp iptables, lệnh sau sẽ mở các cổng mà Mosh yêu cầu:

sudo iptables -I INPUT 1 -p udp --dport 60000:61000 -j ACCEPT

Lưu ý , theo mặc định, cài đặt firewall này sẽ không được giữ lại sau khi khởi động lại hệ thống. Các giải pháp như iptables-Kiên trì tồn tại để tăng cường hành vi này.

Nếu bạn đang sử dụng UFW, bạn có thể mở các cổng bằng cách sau:

sudo ufw allow 60000:61000/udp

Nếu bạn đang sử dụng bất kỳ chương trình nào khác để quản lý firewall của bạn , thì bạn cần đảm bảo mở các cổng UDP theo cách thủ công từ 60000 đến 61000. Tuy nhiên, nếu bạn chỉ mong đợi có một số lượng nhỏ các kết nối đồng thời, thì một phạm vi cổng nhỏ hơn có thể được mở với điều kiện nó bắt đầu ở cổng 60000 (ví dụ: 60000: 60020).

Sử dụng

Trong hầu hết các trường hợp sử dụng, Mosh là bản thay thế cho SSH, nghĩa là nhiều lệnh SSH chỉ cần một thay đổi đơn giản. Ví dụ:

ssh user@example.com    # Becomes:    mosh user@example.com

Tuy nhiên, nếu bạn sử dụng bất kỳ đối số nào khác với SSH (chẳng hạn như -p), thì cần có một cú pháp hơi khác:

mosh --ssh="ssh -p 22000" user@example.com

Sau khi thực thi, Mosh sẽ kết nối bạn với một shell trông giống như bất kỳ kết nối SSH tiêu chuẩn nào. Tuy nhiên, bên dưới bề ngoài, Mosh không chỉ là một cái ống câm, với một số tính năng độc đáo giúp nó hoạt động tốt hơn trên các kết nối kém.

Trong khi SSH sẽ truyền toàn bộ dữ liệu kết quả từ bất kỳ chương trình nào đang chạy trên máy từ xa, Mosh chạy một máy trạng thái vt500 trên mỗi đầu của kết nối và sẽ chỉ thông báo các thay đổi đối với vùng màn hình hiện đang hiển thị. Điều này cho phép nó giảm triệt để việc sử dụng băng thông và duy trì khả năng đáp ứng, cả hai đều có thể gây tắc nghẽn trên kết nối di động.

Trong trường hợp kết nối của bạn bị ngắt hoàn toàn, Mosh sẽ nhanh chóng thông báo cho bạn biết bằng thanh trạng thái ở đầu cửa sổ cho biết thời gian kể từ lần giao tiếp thành công mới nhất .

Sau khi kết nối được khôi phục, Mosh sẽ tự động đồng bộ hóa lại và bạn có thể tiếp tục ở nơi bạn đã dừng lại với phiên của bạn .

Bạn cũng có thể nhận thấy rằng, ngay cả khi kết nối của bạn chậm hoặc không phản hồi, bạn có thể nhập các lệnh mới vào terminal của bạn và thấy đầu vào của bạn xuất hiện ngay lập tức với một gạch dưới. Văn bản được gạch chân như vậy cho biết Mosh đã suy đoán trạng thái terminal từ xa sẽ như thế nào trước khi thấy phản hồi từ VPS. Sau khi gạch chân biến mất, bạn có thể chắc chắn rằng cả hai đầu của kết nối đều được đồng bộ hóa.

Tuy nhiên, hệ thống này có một nhược điểm: do Mosh chỉ đồng bộ hóa trạng thái màn hình hiện tại, terminal local của bạn sẽ không duy trì cache cuộn ngược của kết quả chương trình trước đó. Do đó, bạn nên sử dụng bộ ghép kênh terminal như màn hình hoặc tmux ở phía VPS để giữ lại kết quả này.

Tóm lược

Phần giới thiệu về Mosh này đã nêu bật một số lợi ích chính của nó so với SSH trên kết nối di động và mặc dù nó có thể không thay thế việc bạn sử dụng SSH hàng ngày, nhưng trong những tình huống bạn buộc phải dựa vào kết nối chậm, nó có thể tạo ra sự khác biệt giữa việc thất vọng và hiệu quả.


Tags:

Các tin liên quan