CygwinSSHクライアントを使用してWindowsマシンからリモートRedHatサーバーにアクセスする際に少し問題があります。
私がしていることは、自宅のWindowsマシンからログインして、リモートのRedHatマシンでかなり時間のかかるQAスクリプトを実行することです。クライアント側では、通常のCygwinコンソールウィンドウでCygwinSSHを使用します。インタラクティブに作業している(つまり、コマンドラインからコマンドを実行している)限り、すべて問題ありません。スクリプトを開始すると、スクリプトが端末上で目に見えるアクティビティを生成する限り、つまり画面に何かを出力する限り、すべてが正常に機能します。ただし、出力に大幅な一時停止がある場合、RedHatマシンへの接続は最終的に「書き込みに失敗しました:ピアによって接続がリセットされました」というメッセージでドロップされます。
これはある種のタイムアウト/キープアライブの問題ですか?もしそうなら、これが起こらないように何を設定する必要がありますか?そしてどこ(サーバー側またはクライアント側)?
サーバーを構成します
/ etc/ssh/sshd_configを開き、ClientAliveIntervalオプションを見つけます(そこにない場合は追加します)。値は秒単位なので、540秒または9分で移動しました。
ClientAliveInterval 540
クライアントを構成します
/ etc/ssh/ssh_configを編集して、ServerAliveIntervalオプションを見つけます(オプションがない場合は追加します)。この場合も、この値は秒単位であるため、9分間隔は540秒です。
ServerAliveInterval 540
ほとんどの場合、タイムアウトです。これを防ぐには、~/.ssh/config
で次の設定を使用できます。
ServerAliveInterval <keepalive-interval>
<keepalive-interval>秒ごとにキープアライブパケットを送信します。