Trang Chủ Mạng Mosh: vỏ an toàn mà không đau

Mosh: vỏ an toàn mà không đau

Mục lục:

Anonim

Nếu bạn là một chuyên gia kỹ thuật, bạn chắc chắn biết về Secure Shell (SSH) và sử dụng nó thường xuyên để kết nối với các hệ thống từ xa. Mặc dù là một công cụ tuyệt vời, SSH giả định rằng bạn có kết nối có dây đáng tin cậy. Nó không luôn luôn hoạt động tốt trên các kết nối không dây, có thể không đáng tin cậy. Một công cụ mới đã thay đổi đó là Mosh hoặc Mobile Shell, cho phép người dùng kết nối với các hệ thống từ xa và duy trì kết nối ngay cả khi mạng bị hỏng hoặc bạn chuyển mạng.

Tại sao lại là Mosh?

Secure Shell là không thể thiếu đối với các quản trị viên, lập trình viên và người dùng có quyền cần đăng nhập vào máy chủ, trên toàn bộ hội trường hoặc trên toàn quốc. Đây là một sự thay thế an toàn, được mã hóa cho Telnet. Đó là một công cụ tuyệt vời, nhưng nó được thiết kế vào những năm 90, thời đại trước khi máy tính di động trên Wi-Fi trở nên phổ biến. SSH giả định một kết nối có dây đáng tin cậy, điều này không phải lúc nào cũng xảy ra khi người dùng di động. Kết nối Wi-Fi, như nhiều người đã tìm thấy, thường không rõ ràng và không thể thay đổi kết nối, từ Wi-Fi sang LTE, mà không phá vỡ kết nối.


Lần khác, đó không phải là lỗi của kết nối, mà là người dùng. Hoặc, như họ nói trong CNTT, đó là PEBKAC (vấn đề tồn tại giữa bàn phím và ghế). Yêu thích mọi thời đại của tôi là đóng nắp trong khi quên rằng tôi đã đăng nhập vào một máy từ xa thông qua SSH. Tôi mở nắp và gõ vào cửa sổ terminal và không có gì xảy ra. Tất cả những gì tôi có thể làm là giết phiên và đăng nhập lại. Điều đó thật khó chịu, nhưng tôi đã làm điều đó vô số lần và tôi chắc chắn bạn cũng như vậy.


Nhiều người cố gắng giảm thiểu điều này bằng cách sử dụng các chương trình như GNU Screen và tmux. Đây là các bộ ghép kênh đầu cuối không chỉ cung cấp cho bạn một cái gì đó như duyệt theo thẻ cho dòng lệnh, mà còn có thể bảo vệ phiên của bạn trong trường hợp kết nối của bạn bị hỏng. Chỉ cần đăng nhập lại và bạn có thể chọn đúng nơi bạn rời đi. Tiện dụng như các chương trình này, các vấn đề với bản thân SSH vẫn còn.


Tôi đã cam chịu số phận SSH của mình, nhưng một ngày nọ, tôi tình cờ gặp một chương trình mới trên máy chủ shell mà tôi đi chơi. Mosh là một nỗ lực để cải thiện SSH, làm cho nó phù hợp để sử dụng trên máy tính xách tay. Nó được phát triển bởi một số người thông minh tại MIT, những người đã mang đến cho chúng tôi Lisp (vì vậy họ có thể biết một điều tốt khi họ nhìn thấy). Keith Winstein, một trong những nhà phát triển chính, đã tạo ra một video cho thấy cách thức hoạt động của nó.


Những người sáng tạo của Mosh mô tả nó như một sự thay thế cho SSH mạnh mẽ và nhạy bén hơn, đặc biệt là qua Wi-Fi, các liên kết di động và đường dài.

Làm thế nào nó hoạt động

Mosh sử dụng một giao thức mới gọi là Giao thức đồng bộ hóa nhà nước (SSP). Điều này được xây dựng trên các giao thức kết nối từ xa truyền thống như Telnet và SSH. Trong SSH, máy chủ chỉ gửi một số byte xuôi dòng đến máy khách để được giải thích.


SSP thêm một lớp khác. Máy chủ và máy khách theo dõi những gì đã được gửi bằng số thứ tự. Nếu máy chủ nhận được số thứ tự cao hơn số thứ tự đã gửi trước đó, thì đủ thông minh để nhận ra rằng máy khách đã chuyển sang kết nối khác. Điều này có nghĩa là có thể dễ dàng chuyển vùng từ mạng Wi-Fi sang mạng Wi-Fi hoặc từ mạng Wi-Fi sang mạng di động hoặc từ mạng Wi-Fi sang kết nối có dây - v.v.


Một tính năng hay khác mà Mosh cung cấp là tiếng vang nhân vật thời gian thực. Thông thường, nếu bạn đang sử dụng SSH, bạn có thể thấy sự chậm trễ giữa việc nhập và chờ các ký tự của mình xuất hiện trên màn hình khi máy chủ lặp lại những gì bạn đang gõ lại cho bạn.

Bắt nó

Nếu bạn tò mò, bạn sẽ rất vui khi biết rằng cài đặt Mosh là đủ dễ dàng. Hầu hết các bản phân phối Linux và Unix chính đều có trong kho của họ. Trang chủ Mosh hiển thị các ví dụ sử dụng Debian và Ubuntu, cũng như Gentoo, Arch và Fedora. Vì Mac OS X dựa trên Unix, người dùng Mac cũng có thể tham gia. Có một gói gốc và những người muốn biên dịch nó trên Mac bằng Homebrew và MacPorts. Nếu hệ thống của bạn không có Mosh dưới dạng gói, bạn có thể tự tải xuống và biên dịch nó nếu cần.


Khi bạn đã cài đặt ứng dụng khách, bạn đã sẵn sàng để Mosh khởi động và đăng nhập. Bạn đăng nhập chính xác như bạn làm với SSH. Trên thực tế, Mosh không thực sự xử lý các thông tin đăng nhập; nó cung cấp thông tin đăng nhập cho SSH. Điều này hữu ích nếu bạn sử dụng các tính năng mã hóa khóa công khai của SSH để đăng nhập an toàn mà không cần mật khẩu.


Có một nắm bắt, tuy nhiên. Bạn cần máy chủ Mosh để kết nối. May mắn thay, bạn không phải là một siêu người dùng để cài đặt nó. Bạn thậm chí có thể đặt nó vào thư mục chính của bạn và khởi chạy nó theo cách đó nếu bạn không thể nói sysadmin cài đặt nó. Mosh vẫn còn mới, vì vậy có lẽ một ngày nào đó nó sẽ trở nên phổ biến trên các máy chủ như SSH.


Một điều nữa: Mosh hy vọng thiết bị đầu cuối của bạn hỗ trợ UTF-8. Gần như tất cả các trình giả lập thiết bị đầu cuối hiện đại đều làm, nhưng bạn có thể phải đặt biến môi trường $ LANG trước khi máy chủ trên hệ thống từ xa chấp nhận kết nối.

Còn sống

Bây giờ bạn đã kết nối, bạn có thể làm việc mã hóa hoặc chỉnh sửa các tệp cấu hình của mình hoặc quản lý các máy từ xa, ở nhà, tại nơi làm việc, trên tàu hoặc ở độ cao hành trình.


Bạn có thể kiểm tra Mosh mạnh như thế nào bằng cách ngắt kết nối Wi-Fi của bạn. Mosh sẽ hiển thị một thông báo ở đầu thiết bị đầu cuối cho biết nó không có kết nối, cùng với bộ hẹn giờ. Kết nối lại và phiên của bạn sẽ chọn đúng nơi nó rời đi. Nó cũng hoạt động nếu bạn đóng nắp máy tính xách tay của bạn.


Mosh thậm chí còn tốt hơn khi được ghép nối với bộ ghép kênh đầu cuối như GNU Screen hoặc tmux. Chúng đã được sử dụng trong quá khứ theo cách của Mosh, để giữ cho các phiên SSH hoạt động trên các kết nối không đáng tin cậy, nhưng chúng vẫn cung cấp một số lợi thế khi được sử dụng với Mosh. Ví dụ: bạn có thể tách ra khỏi một thiết bị đầu cuối, đăng xuất và đăng nhập từ một máy khác, gọi bộ ghép kênh và tiếp tục. Điều này rất hữu ích cho các công việc lâu dài. Nó cũng phổ biến đối với những người dùng IRC khao khát kết nối trên máy chủ shell và tách ra khi cần thiết.

Thời gian cho Mosh?

Bây giờ bạn đã hiểu được cách Mosh có thể làm cho trải nghiệm đăng nhập từ xa trên điện thoại của bạn tốt hơn nhiều, tại sao bạn không tự mình thử?

Mosh: vỏ an toàn mà không đau