hết giờ nhàn rỗi


9

Máy Solaris mà chúng tôi thực hiện hầu hết sự phát triển của chúng tôi có thói quen khó chịu khi hết thời gian sử dụng các phiên SSH. Không quan trọng máy khách là máy tính để bàn Ubuntu, máy tính để bàn Solaris hay máy tính để bàn Windows của tôi (putty); yếu tố phổ biến là máy Solaris lớn.

Có bất cứ điều gì tôi có thể làm để ngăn chặn điều này xảy ra? Thật khó chịu khi bạn nghỉ trưa và các phiên cuối bạn đã mở và cấu hình tinh tế đều bị đóng băng, do đó bạn cần phải giết tất cả chúng và thiết lập lại tất cả bối cảnh của bạn.

Câu trả lời:


8

Đúng. Cấu hình SSH để gửi các gói giữ .


Chúng tôi đã có "KeepAlive Yes" trong / etc / ssh / sshd_config. Nó không có giá trị ClientAliveInterval; Vì vậy, tôi đã thêm điều đó và chúng ta sẽ thấy điều đó diễn ra như thế nào.
Andrew

1
Cũng đáng lưu ý rằng bạn có thể làm điều đó theo cách khác. Nếu bạn không thể thay đổi cấu hình máy chủ, bạn có thể yêu cầu máy khách ssh gửi các gói giữ mạng thay vì sử dụng ServerAliveInterval.
SpoonMeiser

Vị trí của bài viết đó đã thay đổi. Đây là một trong những hiện tại: forumone.com/bloss/post/quick-tip-ssh-keepalive
John Bachir

2

Tôi đã thấy rằng hành vi cố chấp không hoạt động tốt. Tôi đã thử thêm ServerAliveInterval vào tập lệnh ~ / .ssh / config nhưng nó không chơi tốt với git.

Điều tôi đã kết thúc là thêm dấu thời gian vào thanh trạng thái 'màn hình' của mình. Đây là hoạt động đủ để giữ kết nối lên.


Nếu bạn muốn chức năng này bên ngoài màn hình (1), hãy xem Spinner
Drew Stephens

1

Bạn cũng có thể định cấu hình Putty để gửi các gói tin còn sống.

Trong Cài đặt, Kết nối, Giây giữa các lần giữ.


1

Trước tiên, bạn cần xác định xem đó là vỏ của bạn đang đăng xuất bạn hay ssh. Để kiểm tra, ssh vào máy từ xa của bạn và vi hoặc ít hơn một tệp.

Nếu một thời gian dài sau đó bạn vẫn có thể di chuyển xung quanh ít hơn / vi, thì ssh vẫn ổn. Trong trường hợp này, xác định shell nào bạn đang sử dụng và vô hiệu hóa thời gian chờ. Đây rất có thể là cái vỏ đang hẹn giờ với bạn chứ không phải SSH. Tuy nhiên, một số tường lửa sẽ đóng các phiên nhàn rỗi nếu không gửi tin nhắn.

Quản trị viên Solaris có thể ngăn bạn vô hiệu hóa thời gian chờ trong vỏ của bạn, bằng cách đặt cài đặt ở chế độ chỉ đọc. Điều này là không thể, nhưng có thể. Bạn thường có thể khắc phục điều này bằng cách sử dụng một vỏ khác.


1

Nếu bạn gặp khó khăn khi định cấu hình lại trình bao của mình, bạn có thể sử dụng màn hình GNU. Nếu phiên SSH của bạn hết thời gian, chỉ cần đăng nhập lại và kết nối lại và trình bao của bạn sẽ giống như cũ.


0

Nếu bạn chạy tcsh trên máy Solaris, biến tự động có thể được đặt. Nếu bạn đặt thành 0 (đặt autologout = 0) hoặc bỏ đặt nó (bỏ đặt tự động), nó sẽ dừng đăng xuất bạn.


0

Đây có thể là cá trích đỏ, nhưng hãy thử

unset TMOUT

tại dấu nhắc shell của bạn. Điều này chắc chắn đã làm việc cho tôi trong quá khứ, nhưng tôi không thể nhớ nếu nó bị giới hạn trong các kiến ​​trúc (hoặc vỏ) nhất định.



0

Bạn có thể chạy toptrong một thiết bị đầu cuối khác? Điều đó sẽ tạo ra lưu lượng truy cập thường xuyên?


0

Spinner âm thanh như giải pháp hoàn hảo cho vấn đề của bạn. Nó định kỳ gửi các ký tự trong phiên của bạn để giữ cho nó không bị hết thời gian.


-1

Tôi đã luôn thành công với 'ClientAliveInterval 300' trên các máy chủ linux / bsd.


-1

Kiểm tra sshdcấu hình của bạn cho các dòng như thế này trong /etc/ssh/sshd_config:

ClientAliveInterval 600
ClientAliveCountMax 0
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.