web-dev-qa-db-ja.com

CygwinSSHセッションを存続させる

CygwinSSHクライアントを使用してWindowsマシンからリモートRedHatサーバーにアクセスする際に少し問題があります。

私がしていることは、自宅のWindowsマシンからログインして、リモートのRedHatマシンでかなり時間のかかるQAスクリプトを実行することです。クライアント側では、通常のCygwinコンソールウィンドウでCygwinSSHを使用します。インタラクティブに作業している(つまり、コマンドラインからコマンドを実行している)限り、すべて問題ありません。スクリプトを開始すると、スクリプトが端末上で目に見えるアクティビティを生成する限り、つまり画面に何かを出力する限り、すべてが正常に機能します。ただし、出力に大幅な一時停止がある場合、RedHatマシンへの接続は最終的に「書き込みに失敗しました:ピアによって接続がリセットされました」というメッセージでドロップされます。

これはある種のタイムアウト/キープアライブの問題ですか?もしそうなら、これが起こらないように何を設定する必要がありますか?そしてどこ(サーバー側またはクライアント側)?

5
AnT

タイムアウトを変更

サーバーを構成します

/ etc/ssh/sshd_configを開き、ClientAliveIntervalオプションを見つけます(そこにない場合は追加します)。値は秒単位なので、540秒または9分で移動しました。

ClientAliveInterval 540

クライアントを構成します

/ etc/ssh/ssh_configを編集して、ServerAliveIntervalオプションを見つけます(オプションがない場合は追加します)。この場合も、この値は秒単位であるため、9分間隔は540秒です。

ServerAliveInterval 540

また、 autosshはあなたの良い友達になることができます

5
dtmland

ほとんどの場合、タイムアウトです。これを防ぐには、~/.ssh/configで次の設定を使用できます。

ServerAliveInterval <keepalive-interval>

<keepalive-interval>秒ごとにキープアライブパケットを送信します。

2
Aaron Miller

this および this リンクが役立つと確信しています。

1
september