SSHに似たセッションは、物理的なネットワーク接続が失われても生き残ることができます。

SSHに似たセッションは、物理的なネットワーク接続が失われても生き残ることができます。

コンピュータがスリープ状態になった後に目が覚めた後でも、SSHログインセッションは接続を続けたいと思います。私が知っているのは、TCPは間欠的なネットワーク問題でも生き残ることができますが、何時間も何日も生き残ることができるように設定を変更できますか?そうでない場合、これを実行できるSSHのようなものはありますか?

ネットワークが再利用可能になったら、自動的に再接続するようにSSHを設定できることを理解しています。しかし、それは理想的ではありません。なぜなら、私はログインセッションがラップトップがスリープモードに入る前の場所と正確に一致したいからです(シェルコマンドラインに入力する途中でも)。

他の人もいることを理解しています。解決策しかし、最初からシェルセッションの損失を避ける方法があることを望みました。

答え1

TCP接続は切断されても生き残ることができるはずですが、過度に熱心なファイアウォールの中にはアイドル接続を切断する可能性があります。

対話型セッションの場合は、次を実行します。モシュ。 UDPを介してSSHなどの端末接続を可能にし、必要に応じて他のIPアドレスからの再接続をサポートし、不安定な接続をサポートするいくつかの機能を備えています。

SSH を使用するか、Mosh を使用するかにかかわらず、次のものを使用できます。画面またはマルチプレクサまた、セッションを接続から独立させます。

答え2

screenまたはtmux確かに行く方法です。ssh接続は目的のための手段に過ぎず、アイドル期間(合理的な範囲内)で接続が切断される頻度はもはや重要ではありません。

screenリモートサーバーにログインしたときに起動することを覚えておく必要がある場合は、screen対話型セッションが自動的に既存のセッションに参加するようにしたり、すでに実行中のセッションがない場合は新しいセッションを開始するのは難しくありません。

答え3

(信頼できるソケット)は、クライアントが別のネットワークに移動してもTCP接続が失敗したときを検出し、クライアントを自動的に再接続するクライアントTCP接続を確立するプログラムを囲むラッパーです。論文で説明されていました。安定したインターネット接続そしてダウンロード可能。メンテナンスはされていませんが、かなり信頼性の高いインターフェースを使用しているため、今日でもまだ機能します。標準ライブラリ機能を隠すためにライブラリプリロード()を使用するため、動的にリンクされた実行可能LD_PRELOADファイルでのみ機能します。ただ次のように実行するだけです。

rocks ssh …

Rocksはサーバーモビリティではなくクライアントモビリティを扱います。サーバーが移動したら、以下を使用する必要があります。靴下代理人。

対話型セッションの場合、良いオプションは次のとおりです。モシュ。信頼できない接続用に設計され、クライアントのモビリティをサポートします。接続が不安定になると、Mosh のデータが失われるため、対話型セッションでのみ使用できます。

ほとんど安定していますが、モバイル接続が時々ある場合、Moshの代替案は次のとおりです。自動SSH自動再接続と画面またはマルチプレクササーバーで実行します。クライアントが切断されても、screen / tmuxセッションはサーバーに残り、接続が失われるとautosshは自動的に再接続します。

関連情報