【Linux疑難雜症】ssh timeout… WTF 被踢拉…

更新於 發佈於 閱讀時間約 2 分鐘
raw-image

圖片來源...

Linux是一個非常好用、兼具效能、靈活度高的作業系統, 唯一的缺點就是學習曲線較為陡峭, 一開始難以入門, 但假若學會了, 對於我們的作業效率勢必事半功倍, 尤其是軟體工程師、IT人員…。

過程中難免遇到一些零零總總的狀況, 不過沒關係! 一項項慢慢解決即可。

前景提要

raw-image

圖片來源...

有一天,工程師小明在進行遠端連線SSH作業時,發現一件奇怪的事情,明明就是跟朋友聚餐一下,兩個小時後回來,咦! 奇怪, 怎麼我剛剛遠端連線到伺服器的終端機都不動了!!! WTF… 不會是壞掉了吧! 這時候小明發揮工程師的精神,一定要實事求是,將問題給找出來…, 那麼我們就來幫小明一把唄…。

什麼原因呢?

主要是SSH預設會有一個檢查機制,假如說一段時間內,客戶端沒有發送任何封包請求來往時,伺服端就會視為這一個連線是失效的,因此會強制中斷連線,避免占著茅坑不拉屎的狀況,但不必擔心,這是有幾個解決方法的,就在底下,請根據需求選取一種解決方案吧!

如何解決?

客戶端配置

由於連線的過程中會有心跳機制, 伺服端會在一定時間內需要收到Client的封包, 否則就視為拒絕連線的對象。

因此我們可以在Client端配置固定時間向伺服端發送封包, 以確保我們的連線無虞。

# 編輯客戶端的ssh連線配置
vim ~/.ssh/config

# 每60秒發送一次keep alive封包
ServerAliveInterval 60

# 斷開時重新連接的次數
ServerAliveCountMax 5

伺服端配置

我們也可以延長伺服端的時效性, 以及給予更寬鬆的最大延時次數。

# 編輯伺服端的連線配置
vim /etc/ssh/sshd_config

# 將超時設定為600秒(10分鐘), 最大允許3
ClientAliveInterval 600
ClientAliveCountMax 3

動態配置

如果我們不希望這種未逾時的連線成為常態的配置時, 我們可以在連線時指定參數, 告訴這次連線每60秒發送一次封包, 避免被中斷。

ssh -o ServerAliveInterval=60 user@remote_host

使用tmux or screen…等工具來避免中斷導致程式運行中止

如果您需要在SSH連接中保持長時間運行的任務,但不希望被空閒超時終止,可以使用tmux或screen工具。這些工具可以創建會話,即使斷開SSH連接,任務也會在後台繼續運行。這樣,您可以隨時重新連接到會話並恢復工作。

結語

Linux系統雖然相對門檻較高, 但使用者也都非常樂意分享遇到的狀況以及處理方法,所以基本上都不用害怕這個系統, 而且處理效能相對較佳, 尤其我們開發雲服務的應用程式時就非常需要Linux的技能, 不妨好好的學習一番, 跟上時代的趨勢。

喜歡撰寫文章的你,不妨來了解一下:

Web3.0時代下為創作者、閱讀者打造的專屬共贏平台 — 為什麼要加入?

歡迎加入一起練習寫作,賺取知識

avatar-img
118會員
265內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
阿Han的沙龍 的其他內容
講到Docker之前就必須先談談容器化, 容器化是一種軟體開發的方法, 將程式、依賴及組態封裝在映像檔之中, 那映像檔對於大部份的人來說一定非常的熟悉, 尤其是VM這個詞, 虛擬化技術的先行者, 有了這項技術之後, 我們就可以減少一些因為環境產生的問題導致難以排查程式錯誤的狀況, 甚至可以避免因為A
圖片來源... 故事的起源… 圖片來源... 首先我們來查查看目標的目錄有多少檔案, 結果卻… # 查看檔案有多少量 ll *.txt|wc -l # 悲劇發生了... -bash: /usr/bin/ls: Argument list too long 那我們試著搬移檔案呢?
Tmux對於常常在使用Linux或者Mac作業系統的朋友來說是一個非常方便的工具, 可以讓我們工作效率提升, 快速切換多個終端畫面進行多工處理, 但使用時難免遇到一些狀況跟需求, 而這次分享的主要是如何複製貼上, 相信這也是大部分使用者會遇到的情境, 因此進行經驗的分享與交流。 輸入指令的快捷
熟悉使用Linux系列的開發者最常接觸的就是Terminal終端機了, 而Terminal終端機要如何有效率的運用? 這裡就來推薦一個神兵利器「tmux」, 他可以開啟我們的多工模式, 快速的游移在各個視窗之中敲打程式指令,加快工作效率。 並且背後運行著Server, 當我們進行大型任務的程式執行
前景提要 故事是這樣的,小明某一天在Linux系統上進行AI模型訓練時, 原本安心的去睡覺了, 沒想到一早起床想要看成功結果時, 竟然有一條可疑的LOG…。 kernel:[1270601.804083] watchdog: BUG: soft lockup - CPU#8 stuck fo
講到Docker之前就必須先談談容器化, 容器化是一種軟體開發的方法, 將程式、依賴及組態封裝在映像檔之中, 那映像檔對於大部份的人來說一定非常的熟悉, 尤其是VM這個詞, 虛擬化技術的先行者, 有了這項技術之後, 我們就可以減少一些因為環境產生的問題導致難以排查程式錯誤的狀況, 甚至可以避免因為A
圖片來源... 故事的起源… 圖片來源... 首先我們來查查看目標的目錄有多少檔案, 結果卻… # 查看檔案有多少量 ll *.txt|wc -l # 悲劇發生了... -bash: /usr/bin/ls: Argument list too long 那我們試著搬移檔案呢?
Tmux對於常常在使用Linux或者Mac作業系統的朋友來說是一個非常方便的工具, 可以讓我們工作效率提升, 快速切換多個終端畫面進行多工處理, 但使用時難免遇到一些狀況跟需求, 而這次分享的主要是如何複製貼上, 相信這也是大部分使用者會遇到的情境, 因此進行經驗的分享與交流。 輸入指令的快捷
熟悉使用Linux系列的開發者最常接觸的就是Terminal終端機了, 而Terminal終端機要如何有效率的運用? 這裡就來推薦一個神兵利器「tmux」, 他可以開啟我們的多工模式, 快速的游移在各個視窗之中敲打程式指令,加快工作效率。 並且背後運行著Server, 當我們進行大型任務的程式執行
前景提要 故事是這樣的,小明某一天在Linux系統上進行AI模型訓練時, 原本安心的去睡覺了, 沒想到一早起床想要看成功結果時, 竟然有一條可疑的LOG…。 kernel:[1270601.804083] watchdog: BUG: soft lockup - CPU#8 stuck fo
你可能也想看
Google News 追蹤
Thumbnail
2025 年,從分享精彩的 #Myvocus2024 年度回顧開始! #Myvocus2024 年度回顧通知已送達 vocus 的 2024 有超過 12 萬筆訂單、35 萬則以上的內容、16 萬以上的新會員、4 千+ 筆數位商品訂單,5 萬 + 則貼文! 曬曬你的 2024 vocus 吧!
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇文章將提供一個完整的Kubernetes安裝指南,包括控制平面節點和工作節點的安裝過程。文章中還會提及一些參考資料和解決常見錯誤的方法。
Thumbnail
本文將介紹一些常用的 Linux 指令,幫助新手快速上手。主要內容包括文件和目錄管理(如 ls、cd、mkdir)、檔案操作(如 cp、mv、rm)。通過這些指令的學習,使用者可以更快速地操作 Linux 系統。
Thumbnail
在處理Linux時,遇到了Kubuntu 22.04的SSH連線問題。本文將介紹如何完整移除之前裝過的SSH並重新安裝以解決問題。
Thumbnail
對於新手來說,使用Fedora可能會有一些困難,比如找不到要延遲系統暫停時間如下圖,那要如何做呢?請繼續看下去。
Thumbnail
當您在vCenter上發現Root使用者密碼過期的訊息時,該如何解決呢?本文將介紹如何透過SSH進入系統並立即變更密碼,以及如何將密碼設定成永不過期,避免再次遇到此問題。
Thumbnail
整合測試的時候突然遇到一個突然無法登入產品網站的問題,把程式模組單獨拉出來測試又正常,觀察測試報告後發現出現發生登入異常的時間點並不固定,而且只要發生就會連續發生一段時間,程式被中斷掉。後來確認問題在...
過客每天的工作白天都是面對著電腦,昨天來上班一如往常第一個動作就是打開電腦連線,無奈怎麼樣都連不上網路° 第一個念頭就是打給電腦工程師,工程師請我把WiFi分享先關機,結果還是一樣都連不上,只好打電話跟中華電信求救,原來是中華電信那邊出了問題° 昨天就在跟家長聊這件事情,因為這位
Thumbnail
ping 指令用於排除網路連線故障,但當你遇到無法時候時?不要慌,這裡有解決方法,錯誤的原因通常有這些: 未安裝 ping 程式 $PATH 環境變數中未設定 ping命令損壞 未使用 sudo 權限存取該指令 我們可以透過一些方法簡單的檢測並且解決,例如我們可以先驗證命令可用性: wh
Thumbnail
本教程將引導您在 Ubuntu 系統上啟用 SSH、配置防火牆規則以允許入站連接,並更改預設 SSH 連接埠以增強安全性。包括更新系統、安裝OpenSSH伺服器、更改連接埠、設定防火牆、檢查規則和重新啟動服務等步驟。
Thumbnail
仍舊是紀錄一下自己的過程,避免真的又找半天 1.準備 Console線 ( RS-232 公母接頭 ) 2.準備 USB-RS232 轉接線 ( 驅動程式 ) 3.putty ( 下載位置 ) 4.Zyxel ES3500 的帳號密碼 ( 我的預設是admin/1234 )
Thumbnail
2025 年,從分享精彩的 #Myvocus2024 年度回顧開始! #Myvocus2024 年度回顧通知已送達 vocus 的 2024 有超過 12 萬筆訂單、35 萬則以上的內容、16 萬以上的新會員、4 千+ 筆數位商品訂單,5 萬 + 則貼文! 曬曬你的 2024 vocus 吧!
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇文章將提供一個完整的Kubernetes安裝指南,包括控制平面節點和工作節點的安裝過程。文章中還會提及一些參考資料和解決常見錯誤的方法。
Thumbnail
本文將介紹一些常用的 Linux 指令,幫助新手快速上手。主要內容包括文件和目錄管理(如 ls、cd、mkdir)、檔案操作(如 cp、mv、rm)。通過這些指令的學習,使用者可以更快速地操作 Linux 系統。
Thumbnail
在處理Linux時,遇到了Kubuntu 22.04的SSH連線問題。本文將介紹如何完整移除之前裝過的SSH並重新安裝以解決問題。
Thumbnail
對於新手來說,使用Fedora可能會有一些困難,比如找不到要延遲系統暫停時間如下圖,那要如何做呢?請繼續看下去。
Thumbnail
當您在vCenter上發現Root使用者密碼過期的訊息時,該如何解決呢?本文將介紹如何透過SSH進入系統並立即變更密碼,以及如何將密碼設定成永不過期,避免再次遇到此問題。
Thumbnail
整合測試的時候突然遇到一個突然無法登入產品網站的問題,把程式模組單獨拉出來測試又正常,觀察測試報告後發現出現發生登入異常的時間點並不固定,而且只要發生就會連續發生一段時間,程式被中斷掉。後來確認問題在...
過客每天的工作白天都是面對著電腦,昨天來上班一如往常第一個動作就是打開電腦連線,無奈怎麼樣都連不上網路° 第一個念頭就是打給電腦工程師,工程師請我把WiFi分享先關機,結果還是一樣都連不上,只好打電話跟中華電信求救,原來是中華電信那邊出了問題° 昨天就在跟家長聊這件事情,因為這位
Thumbnail
ping 指令用於排除網路連線故障,但當你遇到無法時候時?不要慌,這裡有解決方法,錯誤的原因通常有這些: 未安裝 ping 程式 $PATH 環境變數中未設定 ping命令損壞 未使用 sudo 權限存取該指令 我們可以透過一些方法簡單的檢測並且解決,例如我們可以先驗證命令可用性: wh
Thumbnail
本教程將引導您在 Ubuntu 系統上啟用 SSH、配置防火牆規則以允許入站連接,並更改預設 SSH 連接埠以增強安全性。包括更新系統、安裝OpenSSH伺服器、更改連接埠、設定防火牆、檢查規則和重新啟動服務等步驟。
Thumbnail
仍舊是紀錄一下自己的過程,避免真的又找半天 1.準備 Console線 ( RS-232 公母接頭 ) 2.準備 USB-RS232 轉接線 ( 驅動程式 ) 3.putty ( 下載位置 ) 4.Zyxel ES3500 的帳號密碼 ( 我的預設是admin/1234 )