LINUX系統常常出現broken pipe的狀況,可能解法

LINUX系統SSH的應用中,放著放著常常出現broken pipe的狀況。
本來一直以為是我的外部網路問題,不過看起來內網也是常常遇到這種訊息斷線的回報。
一度以為我的內網,因為電腦和電腦間的無線AP硬體設備不穩定。
直到用GOOGLE遠端桌面的時候,才發現應該是不正常(網頁遠端沒斷線、但是SSH的terminal畫面斷線)。
類似的訊息大概都像這些:
Write Failed: broken pipe
send disconnect: Broken pipe

目前看到的解法大概有三種。
不過都是一樣的意思,要告訴伺服器,我還再用SSH,只是先空著等不是意外斷線喔。

方式一:
連線的指令加入ServerAliveInterval這個參數,數字為時間的秒數。
指令
ssh -o ServerAliveInterval=60 -p PORT target.location.address

方法二:
在有帳號的連線端或主機端,個人根目錄下的設定檔,加入參數。
nano ~/.ssh/config
加入
Host *
ServerAliveInterval 60

然後存取權限修改一下。
chmod 600 ~/.ssh/config

方法三:
直接SSHD的設定檔加入常態參數。
方法
[CLIENT連線端]
sudo nano /etc/ssh/ssh_config
找該行或尾端加入ServerAliveInterval=60亦可
或者
[SERVER主機端]
sudo nano /etc/ssh/sshd_config
找該行或尾端加入ServerAliveInterval=60亦可

如果仍然會出現斷線,就嘗試再調整秒數值。
我是設定60秒,看起來似乎是OK。

分類: 電腦相關。這篇內容的永久連結

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

請輸入下列驗證碼計算後阿拉伯數字 (Translate it, if not Taiwanese to post reply) *