私のPCでは、SSH経由でVirtualmin経由でDebian 9に接続しています。 +-2分間出て戻ったときにSSH接続が切断されました。サーバーとクライアントでSSH構成を変更してみました。何も役に立ちませんでした。問題をどこで検索する必要がありますか?ネットワークやルーターの一部の設定ではありませんか?
答え1
いくつかの過度に熱心なルーターは、あまりにも長い間アイドル状態(つまり、データを送信していない)のTCP接続を削除するのが好きです。これは、おそらく、ユーザーは通常、単一のクエリが完了した後に接続が閉じられるHTTPなどを使用すると仮定するためです。
OpenSSHを想定し、ClientAliveInterval
ディレクティブClientAliveCountMax
を使用します。存在するsshd_config
または、クライアント設定でプロトコルレベルの接続維持パケットを有効にしますServerAliveInterval
(またはServerAliveCountMax
)~/.ssh/config
。/etc/ssh/ssh_config
これは、実際にリモートホストが離れているかどうかを検出するためのものですが、接続がアイドル状態のときにメッセージを送信できるようにするため、外部デバイスが接続をアイドル状態にするのを防ぎます。
*AliveInterval
クライアント/サーバーがリモートにクエリを送信した後の時間間隔(秒単位)を設定し、*AliveCountMax
クライアント/サーバーが接続が無効になったと見なした後に応答しなかったクエリの数を設定します。
次の値を実行する必要があります。
ClientAliveInterval 15
ClientAliveCountMax 4
答え2
私のAsus DSL-N66Uは長年この作業を行ってきましたが、今日私の問題を解決する設定を見つけました。だから私は問題を詳細に説明し、他の人が見つけることを望んでインターネットのどこかで修正したいと思います。
SSH、HTTP、HTTPS、IMAP、IMAPS、SMTP、SMTPS、MQTTすべてのポート転送/ピンホールを持つローカルサーバーをホストします。
静的IPと静的IPに関連付けられているドメイン名があるため、ドメイン名を持つ一般的なホームサーバーです。
内部ネットワークのドメイン名を使用してサーバーに接続すると、しばらくすると接続が失われます。これにより、SSH、IMAP、MQTT、またはソケットを開いたままにする方法は使用できません。 Asus DSL-N66Uのソリューションは、以下を変更することです。
LAN -> Switch Control -> NAT Acceleration
到着Disabled