サーバーでプログラムを実行していますSSH
!プログラムが正常に実行され、しばらくするとメッセージが表示され、Write failed: Broken pipe
プログラムが停止します。
これはどういう意味ですか?解決策は何ですか?
私は読んだ:SSHセッションで「壊れたパイプ」メッセージはどういう意味ですか?
サーバーを更新し、sshdを再起動してこの問題を克服することができました。
echo "ClientAliveInterval 60" | sudo tee -a /etc/ssh/sshd_config
またはクライアント:
echo "ServerAliveInterval 60" >> ~/.ssh/config
しかし、どのように無限にすることができますか?ただ60秒ではありません!
ありがとう
ベストアンサー1
試してman sshd_config
くださいman ssh_config
。
クライアントアクティビティ間隔
クライアントからデータが受信されない場合、sshd(8)は暗号化されたチャネルを介してメッセージを送信してクライアントから応答を要求するタイムアウト間隔(秒単位)を設定します。デフォルト値は 0 です。これは、これらのメッセージがクライアントに送信されないことを意味します。このオプションはプロトコルバージョン2でのみ利用可能です。
そして
サーバー活動間隔
サーバーからデータが受信されない場合、ssh(1)は暗号化されたチャネルを介してメッセージを送信してサーバーに応答を要求するタイムアウト間隔(秒単位)を設定します。デフォルト値は 0 です。これは、BatchModeオプションが設定されている場合、これらのメッセージがサーバーに送信されないことを意味し、デフォルトは300です。このオプションはプロトコルバージョン2でのみ利用可能です。
ご使用をお控えいたしますが、
echo "ClientAliveInterval 60" | sudo tee -a /etc/ssh/sshd_config
体。これはsshd_configを更新する不器用で危険な方法のようです。sudo vi
ClientAliveIntervalの既存の設定が何であるかを確認したいと思います(存在する場合)。
最後に、これらの設定が実行する操作を誤って読んでいるようです。その時間後に接続を切断するのではなく、接続の両端とその間のすべてのファイアウォールが接続がまだ生きていて開いている必要があると信じるように促すために、その時間以降に接続を維持するメッセージを送信します。