Khôi phục phiên SSH


13

Tôi đã kết nối với máy chủ của mình thông qua SSH và tạo một quy trình, nhưng đột nhiên kết nối internet của tôi bị ngắt kết nối. Tôi biết rằng quá trình đang diễn ra, nhưng làm thế nào có thể khôi phục phiên trước đó để xem tiến trình của nó?

Câu trả lời:


16

Như đã đề xuất ở trên, trong tương lai bạn có thể sử dụng màn hình để ngăn chặn điều đó. Một lời giải thích ngắn về cách sử dụng màn hình:

  1. screen -S compiling_stuff
  2. Làm công cụ ở đây. ví dụ ./configure
  3. Nếu kết nối bị đóng vì một số lý do, bạn có thể kết nối lại với máy chủ và gặp sự cố screen -r comp
  4. Bạn cũng có thể tự tách phiên màn hình bằng cách nhấn CTRL+A+D

Chúc may mắn


17

screen là cách tốt nhất để bắt đầu một lệnh trong một thiết bị đầu cuối sẽ được giữ khi bạn ngắt kết nối với nó (theo mục đích, ctrl + quảng cáo hoặc vì kết nối bị chết, v.v.).

TUY NHIÊN bạn CÓ THỂ đính kèm lại một quy trình đang chạy (ví dụ: vỏ của phiên chạy của bạn, nếu vẫn đang chạy) với thiết bị đầu cuối hiện tại của bạn (nghĩa là gắn lại stdin, stdout, bàn phím, nhưng cũng biến thiết bị đầu cuối mới thành thiết bị đầu cuối kiểm soát quá trình) bằng cách sử dụng: reptyr

Đối với những điều tốt nhất của cả hai thế giới: cài đặt screen, khởi động nó và sau đó đính kèm lại quá trình đó trong các phiên màn hình đó với reptyr^^


Oliver, làm thế nào có thể gắn lại vào quá trình chạy? Bạn có thể cho tôi một gợi ý xin vui lòng?
cung thủ

@archer: gợi ý: theo liên kết ^^ (cuối đoạn 2 của tôi)
Olivier Dulac

@archer: nhưng màn hình đơn giản hơn: một lần chạy trong màn hình, ctrl + quảng cáo: tách khỏi màn hình (và về nhà). sau đó để gắn lại vào màn hình: "screen -r" (hoặc một cách phức tạp hơn, nếu mọi thứ bị kẹt). Để phân biệt giữa nhiều phiên màn hình, hãy đặt tên cho chúng.
Olivier Dulac

7

Bạn không thể. Trong tương lai, bạn có thể ngăn chặn một cái gì đó như thế này bằng cách sử dụng screenhoặc tmux, nơi được tạo để cho phép kết nối lại với phiên sau khi ngắt kết nối.


5

Chỉ cần nghĩ rằng tôi sẽ đề cập đến http://mosh.mit.edu/

Ứng dụng thiết bị đầu cuối từ xa cho phép chuyển vùng, hỗ trợ kết nối không liên tục và cung cấp tiếng vang thông minh cục bộ và chỉnh sửa dòng phím của người dùng.

Mosh là một sự thay thế cho SSH. Nó mạnh mẽ và phản ứng nhanh hơn, đặc biệt là qua các liên kết Wi-Fi, di động và đường dài.


+1 cho những người đứng đầu, tôi chưa bao giờ nghe nói về công cụ đó trước đây!
Olivier Dulac

2

Sử dụng screenqua ssh để kết nối lại sau với phiên của bạn.

Theo tôi biết, không có cách nào để kết nối lại với một phiên ssh kín.


1

Tôi có thể giới thiệu Byobu :

Byobu là một cải tiến cho Bộ ghép kênh GNU hoặc tmux có thể được sử dụng để cung cấp thông báo hoặc trạng thái màn hình cũng như quản lý nhiều cửa sổ theo thẻ. Nó nhằm mục đích cung cấp trải nghiệm người dùng tốt hơn cho các phiên cuối khi kết nối với máy chủ từ xa.


1

Tôi khuyên bạn nên sử dụng tmux :

Bạn có thể khôi phục phiên tmux qua tmux attach.

tmux là một ứng dụng phần mềm có thể được sử dụng để ghép nhiều bảng điều khiển ảo, cho phép người dùng truy cập nhiều phiên thiết bị đầu cuối riêng biệt trong một cửa sổ đầu cuối duy nhất hoặc phiên thiết bị đầu cuối từ xa. Nó rất hữu ích để xử lý nhiều chương trình từ giao diện dòng lệnh và để tách các chương trình khỏi hệ vỏ Unix đã khởi động chương trình. [1] Nó cung cấp nhiều chức năng giống như Màn hình GNU, nhưng được phân phối theo giấy phép BSD.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.