Làm cách nào để tiếp tục phiên SSH sau khi khởi động lại?


0

Nhiều trang web được đề cập screen, nhưng dường như tôi screenhỗ trợ người dùng trả lại màn hình SSH sau khi ngắt kết nối.

Giả sử, tôi đang kết nối với máy chủ qua SSH từ máy tính xách tay của mình. Bây giờ tôi khởi động lại máy tính xách tay. Tôi có thể tiếp tục phiên SSH trước không?

Cảm ơn


2
Không. Đó là toàn bộ lý do bạn sử dụng màn hình trong phiên ssh của bạn. phiên ssh có thể đã bị mất, nhưng phiên màn hình vẫn đang diễn ra, vì vậy bạn chỉ cần kết nối lại qua ssh và tiếp tục phiên màn hình của bạn. Tôi khá chắc chắn rằng khả năng phục hồi cho các phiên SSH sẽ dẫn đến chiếm quyền điều khiển phiên và các lỗ hổng bảo mật khác không có nếu các phiên là tạm thời.
Frank Thomas

Nhưng đó là năm 2018 ... không sử dụng màn hình, hãy sử dụng tmux. Cấu hình là cách dễ dàng hơn, các ràng buộc khóa mặc định có ý nghĩa hơn, cửa sổ (cách phân chia chế độ xem) được duy trì qua các phiên.
bobpaul

Câu trả lời:


1

Thông thường khi bạn ngắt kết nối SSH một cách duyên dáng, máy chủ sẽ được thông báo. Nếu bạn biến mất mà không thông báo cho máy chủ, về mặt kỹ thuật, bạn có thể quay lại cùng một phiên SSH, nếu bạn chỉ sử dụng cùng một bí mật một lần và không quá muộn. Ví dụ, điều này có thể xảy ra khi kết nối mạng của bạn tạm thời bị rớt và không có dữ liệu nào được truyền đi vào lúc này. Sau khi kết nối mạng được thiết lập lại, SSH có thể hoạt động như không có gì xảy ra. Nhưng nếu bất kỳ đầu nào cố gửi một gói và không thành công, phần mềm SSH (ở đầu này) hiểu rằng có một "đường ống bị hỏng" và chính thức đóng kết nối.

Thông thường chúng tôi muốn phát hiện các kết nối bị đình trệ và không giữ chúng vô thời hạn. Có một vài lựa chọn (cho máy chủ và cho khách hàng) giúp (xem câu trả lời khác này của tôi ).

Giả sử bạn muốn (sử dụng sai) hiện tượng này sau khi khởi động lại máy khách. Có nhiều cách (không thanh lịch) để làm cho máy khách SSH của bạn biến mất mà không cần thông báo cho máy chủ, nhưng không có máy khách SSH thông thường nào lưu trữ bí mật một lần giữa các phiên của nó và cố gắng sử dụng chúng mà không bắt tay vào lần tiếp theo bạn kết nối với cùng một máy chủ. Họ là một lần theo thiết kế. Ngoài ra, lớp TCP khá phức tạp và có trạng thái, do đó, thậm chí bạn sẽ cần lưu trữ và khôi phục nhiều hơn để đánh lừa máy chủ. Đây không phải là cách tiêu chuẩn; các giao thức không được thiết kế cho các thủ thuật như vậy.

Tôi không nghĩ rằng bạn thực sự cần phải đến cùng một phiên SSH. screen(hoặc tmux) là công cụ phù hợp để có cùng phiên shell (nếu được sử dụng ở phía xa, đừng lặp lại lỗi này ); nó thường là đủ.


Nếu bạn nghĩ rằng đó screenkhông phải là giải pháp trong trường hợp của bạn nhưng tiếp tục SSH thì đó có thể là vấn đề XY . Nếu vậy, xin vui lòng hỏi một câu hỏi khác và cho chúng tôi biết những gì bạn đang thực sự cố gắng làm. Có lẽ chúng ta có thể tìm ra giải pháp nhưng tiếp tục phiên SSH tương tự sẽ không phải là nó.

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.