Hướng dẫn cách phục hồi SSH từ một kết nối ngẫu nhiên trên Linux

0

SSH vẫn là cách phổ biến nhất mà các quản trị viên truy cập vào các máy chủ Linux . Hầu hết mọi người không tự đăng nhập vào bảng điều khiển máy chủ. Thông qua SSH, bạn có thể làm hầu hết mọi thứ ngoại trừ một số hoạt động cấp thấp nhất định. Tuy nhiên, điều này khiến chúng tôi mở ra khả năng ngắt kết nối. Nó có thể là bất ngờ nhưng là một khả năng rất thực tế. Một sự biến động đột ngột trên Internet, một sự đột biến điện, và phiên SSH của bạn bị chấm dứt ngay lập tức. Cùng với đó, bất kỳ quy trình nào có thể đang chạy cũng thường bị chấm dứt. Không chỉ những người hoạt động, mà còn tất cả các  quy trình nền . Nếu bạn đang làm một cái gì đó quan trọng mà không nên bị gián đoạn ở giữa – giống như một cài đặt phức tạp, điều này hoàn toàn có thể làm hỏng hệ thống của bạn.

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách khôi phục sau khi ngắt kết nối ngẫu nhiên trên SSH.

Trong một bài viết trước, chúng tôi đã chỉ cho bạn cách cài đặt và sử dụng gói “screen” cho Linux . Và đó là để chứng minh làm thế nào để đa nhiệm vụ trên Linux, bạn cũng có thể sử dụng màn hình để bảo vệ các phiên SSH của bạn. Đó là một lợi ích tuyệt vời và một trong đó đẩy màn hình lên đầu bất kỳ tiện ích “phải có” nào để sử dụng trên máy chủ Linux của bạn.

Trong ảnh chụp màn hình dưới đây, tôi đã bắt đầu một quá trình để ngủ trong 30 phút và đẩy nó vào nền:

Bây giờ tôi chỉ cần đóng phiên SSH của tôi. Và cũng không cần câu lệnh gì cả. Tôi chỉ cần bấm “X” ở trên cùng của cửa sổ. Khi tôi đăng nhập lại, quá trình của tôi đã biến mất. Nó không còn tồn tại và đã bị giết ngay sau khi tôi đóng SSH:

Bây giờ hãy thử cùng một điều với màn hình được kích hoạt. Trong ảnh chụp màn hình dưới đây, tôi chạy lệnh tương tự , nhưng lần này bên trong một “màn hình” như được hiển thị ở đây:

Đây là phiên màn hình mới, trong màn hình “0”. Bây giờ khi tôi đóng SSH và quay trở lại, tôi có thể nhận được một danh sách tất cả các màn hình trước đó bằng cách sử dụng lệnh:

screen -ls

Và điều này mang lại cho tôi đầu ra như được hiển thị ở đây:

Như bạn thấy, có một phiên màn hình ở đây với tên:

pts-0.test-centos-server

Để kết nối lại với nó, chỉ cần gõ:

screen -r

Và điều này sẽ đưa bạn trở lại nơi bạn đã có trước khi kết nối SSH bị chấm dứt! Đó là một công cụ tuyệt vời mà bạn cần sử dụng cho tất cả các hoạt động quan trọng như bảo hiểm chống lại việc chấm dứt tình cờ.

Màn hình tháo rời thủ công

Khi bạn phá vỡ một phiên SSH, những gì thực sự xảy ra là màn hình được tự động tách ra khỏi nó và tồn tại độc lập. Trong khi điều này là tuyệt vời, bạn cũng có thể tách màn hình theo cách thủ công và có nhiều màn hình hiện tại cùng một lúc.

Ví dụ, để tách một màn hình chỉ cần gõ:

screen -d

Và màn hình hiện tại sẽ được tách ra và bảo tồn. Tuy nhiên, tất cả các tiến trình bên trong nó vẫn đang chạy, và tất cả các trạng thái được bảo toàn:

Bạn có thể đính kèm lại vào màn hình bất kỳ lúc nào bằng lệnh “screen -r”. Để kết nối với một màn hình cụ thể thay vì màn hình gần đây nhất, hãy sử dụng:

screen -r [screenname]

Thay đổi tên màn hình để làm cho chúng có liên quan hơn

Theo mặc định, tên màn hình không có ý nghĩa nhiều. Và khi bạn có một nhóm trong số đó, bạn sẽ không biết màn hình nào chứa các quá trình nào. May mắn thay, đổi tên một màn hình thật dễ dàng khi ở trong một màn hình. Chỉ loại:

ctrl + a:

Chúng ta đã thấy trong bài viết trước rằng “ctrl + a” là điều kiện kích hoạt cho các lệnh màn hình. Dấu hai chấm (:) sẽ đưa bạn đến cuối màn hình nơi bạn có thể nhập lệnh. Để đổi tên, hãy sử dụng:

sessionname [newscreenname]

Như được hiển thị ở đây:

Và bây giờ khi bạn tháo màn hình, nó sẽ hiển thị với tên mới như thế này:

Bây giờ bạn có thể có bao nhiêu màn hình tùy thích mà không bị nhầm lẫn về màn hình nào!

Nếu bạn thích bài đăng trên blog này về cách khôi phục kết nối SSH ngẫu nhiên trên Linux, hãy chia sẻ với bạn bè trên mạng truyền thông xã hội hoặc nếu bạn có bất kỳ câu hỏi nào về bài đăng trên blog này, chỉ cần để lại nhận xét bên dưới và chúng tôi sẽ trả lời . Cảm ơn!

Leave a Reply

Your email address will not be published. Required fields are marked *