sshでリモート接続しているときにWrite failed: Broken pipe
が頻発していたのでその対処。
別にWSLに限らず、Unix系全般に使える設定ですが、WSLでこの問題にぶち当たった人が検索でこちらのページで救われることを考慮してこのようなタイトルになりました。
少しでも参考になれば幸いです。
環境
クライアント : Ubuntu 18.04 LTS on WLS2
サーバー : Ubuntu 18.04 LTS 64bit
対処法としてサーバー側かクライアント側の設定を少しだけ変えてあげればよいです。
クライアント側(接続元)で対処
/etc/ssh/ssh_configまたは~/.ssh/configに以下のコマンドを追加してください。今回の例ではnanoを使って編集しますが、vimでもemacsでもお好きなエディタで大丈夫です。$ nano ~/.ssh/config
ServerAliveInterval 15
ServerAliveCountMax 10
この設定で15秒ごとに10回応答確認をサーバに送り、
それでも応答がない場合にタイムアウトになります。
サーバー側(接続先)で対処
次にサーバ側で対応する方法ですがデーモンの設定を変えてあげます。特に何も設定先をいじっていなければ/etc/ssh/sshd_configに設定ファイルがあります。$ nano /etc/ssh/sshd_config
ClientAliveInterval 20
ClientAliveCountMax 5
サーバーかクライアントどちらか一つ設定してあげれば大丈夫です。
私の場合はクライアント側(WSL)に設定を追記しました。
ご参考になればと思います。
コメント