Tại sao các phiên ssh của tôi đóng băng sau một thời gian? [đóng cửa]


10

Xin lỗi nếu đây không phải là nơi thích hợp để đặt câu hỏi này.

Tôi thường xuyên cần ssh đến các máy chủ khác nhau. Bây giờ, từ máy chủ của tôi (linux mint), khi tôi kết nối qua ssh, sau một thời gian không hoạt động, vỏ ssh của tôi bị đóng băng và không có cách nào lấy lại được. Điều duy nhất tôi có thể làm là '~. ", Điều đó ít nhất mang lại cho tôi vỏ bọc khởi đầu của tôi.

Khi tôi đăng nhập từ các vị trí khác vào cùng một máy chủ thì không có vấn đề gì. Đó có thể là một vấn đề với ISP của tôi? Làm thế nào tôi có thể điều tra thêm về cái này?

Thật là khó chịu, vì tôi phải thiết lập lại các kết nối ssh sau khi đóng băng, điều hướng trở lại nơi tôi đang ở và tiếp tục công việc. Cảm ơn


Bạn có một địa chỉ IP tĩnh? Nếu không, ISP của bạn đã cung cấp cho bạn một địa chỉ IP khác giữa phiên - kiểm tra nhật ký của bạn và xem.
dùng9517

Tôi không có địa chỉ IP tĩnh. Sẽ kiểm tra
Fabio

Câu trả lời:


20

NAT của bạn đang bỏ ổ cắm TCP sau một thời gian không hoạt động.

Máy khách ssh của bạn có thể tùy chọn gửi tiếng ồn định kỳ đến máy chủ, do đó loại bỏ vấn đề này. Để làm điều này, hãy thêm nó vào ~/.ssh/config:

Host *
  ServerAliveInterval 60

Ngoài ra, hãy định cấu hình lại NAT của bạn để không hết hạn các mục khỏi bảng trạng thái nhanh như hiện tại.


Ngoài những điều trên, bạn nên sử dụng bộ ghép kênh đầu cuối cho các phiên của mình - một cái gì đó như GNU Screen hoặc tmux. Với một trong số đó, bạn có thể khôi phục phiên của mình trong trường hợp bị ngắt kết nối.


NAT hoặc bất kỳ tường lửa sai lầm nào trong đường dẫn thích thả các phiên TCP nhàn rỗi. Không có lý do gì để bỏ các phiên TCP nhàn rỗi, ngoài việc thiếu bộ nhớ để giữ trạng thái nhưng điều đó sẽ rất hiếm khi xảy ra nếu bạn định kích thước và cấu hình chính xác thiết bị của mình. Đây là một tính năng tốt để biết nhà cung cấp / quản trị viên của bạn có đủ năng lực (hoặc không).
zerodeux

0

Trong trường hợp của tôi, vấn đề là ở kích thước MTU lớn. Bạn có thể thay đổi MTU trên bộ định tuyến nếu bạn sử dụng NAT, nhưng tôi thay đổi MTU trên máy chủ:

sudo /sbin/ifconfig eth0 mtu 1036
sudo /etc/init.d/networking restart

Trên Windows, bạn cũng có thể tăng khóa này:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpMaxDataRetransmissions"=dword:00000010
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.