如何解決ssh總是掉線的問題

2021-07-12 01:01:25 字數 1556 閱讀 9752

配置服務端:

clientaliveinterval

設定乙個以秒記的時長,如果超過這麼長時間沒有收到客戶端的任何資料,

sshd 將通過安全通道向客戶端傳送乙個」alive」訊息,並等候應答。

預設值 0 表示不傳送」alive」訊息。這個選項僅對ssh-2有效。clientaliveinterval指定了伺服器端向客戶端請求訊息的時間間隔, 預設是0, 不傳送.而clientaliveinterval 60表示每分鐘傳送一次, 然後客戶端響應, 這樣就保持長連線了.

clientalivecountmax

sshd 在未收到任何客戶端回應前最多允許傳送多少個」alive」訊息。預設值是 3 。

到達這個上限後,sshd 將強制斷開連線、關閉會話。

需要注意的是,」alive」訊息與 tcpkeepalive 有很大差異。

「alive」訊息是通過加密連線傳送的,因此不會被欺騙;而 tcpkeepalive 卻是可以被欺騙的。

如果 clientaliveinterval 被設為 15 並且將 clientalivecountmax 保持為預設值, 那麼無應答的客戶端大約會在45秒後被強制斷開。這個指令僅可以用於ssh-2協議.

配置客戶端:

#vi /etc/ssh/ssh_config

然後找到裡面的

serveraliveinterval

引數,如果沒有,你同樣自己加乙個就好了,引數意義相同,都是秒數,比如5分鐘等。

serveraliveinterval 300

客戶端也可以配置

serveralivecountmax

在客戶端和服務端都可以配置

tcpkeepalive yes

還有人說要關閉selinux,在網上看到這個東西貌似沒什麼用而且學習成本比較大,不如直接關掉

檢視selinux狀態:

1、/usr/sbin/sestatus -v      ##如果selinux status引數為enabled即為開啟狀態

selinux status:                 enabled

2、getenforce                 ##也可以用這個命令檢查

關閉selinux:

1、臨時關閉(不用重啟機器):

setenforce 0                  ##設定selinux 成為permissive模式

##setenforce 1 設定selinux 成為enforcing模式

2、修改配置檔案需要重啟機器:

修改/etc/selinux/config 檔案

將selinux=enforcing改為selinux=disabled

重啟機器即可

也可以使用mosh,mosh 是 ssh 的替代品。

在高延遲的網路下,mosh 比 ssh 流暢多了,而且3g網路下,丟失網路變更ip後,終端連線不會中斷。

如何解決mysql stop fail的問題

最近在學習mysql,碰到了乙個mysql stop fail的問題,在這裡把碰到的問題以及解決的過程寫出來,不是這個問題有多難,而是我在解決此問題的過程中沒有發現乙個行之有效的解決問題的中文網頁,搞得白白浪費了很多時間。在這裡我把解決的過程寫下來,希望給後來者解決相同的問題節省點時間。好了,廢話不...

如何解決mysql stop fail的問題

最近在學習mysql,碰到了乙個mysql stop fail的問題,在這裡把碰到的問題以及解決的過程寫出來,不是這個問題有多難,而是我在解決此問題的過程中沒有發現乙個行之有效的解決問題的中文網頁,搞得白白浪費了很多時間。在這裡我把解決的過程寫下來,希望給後來者解決相同的問題節省點時間。好了,廢話不...

如何解決藍屏問題

第一步 公升級筆記本bios 一般說來筆記本在出廠的時候很可能設計上存在某些的瑕疵,而廠商通常會採用公升級bios的方法來解決這些bug。如果我們在使用筆記本腦的過程中遇到了藍屏的情況,那麼我們可以採取公升級bios的辦法來解決藍屏的故障。第二步 正確安裝硬體驅動 在重新整理了bios以後,部分筆記...