コンピュータがスリープ状態になった後に目が覚めた後でも、SSHログインセッションは接続を続けたいと思います。私が知っているのは、TCPは間欠的なネットワーク問題でも生き残ることができますが、何時間も何日も生き残ることができるように設定を変更できますか?そうでない場合、これを実行できるSSHのようなものはありますか?
ネットワークが再利用可能になったら、自動的に再接続するようにSSHを設定できることを理解しています。しかし、それは理想的ではありません。なぜなら、私はログインセッションがラップトップがスリープモードに入る前の場所と正確に一致したいからです(シェルコマンドラインに入力する途中でも)。
他の人もいることを理解しています。解決策しかし、最初からシェルセッションの損失を避ける方法があることを望みました。
答え1
答え2
screen
またはtmux
確かに行く方法です。ssh
接続は目的のための手段に過ぎず、アイドル期間(合理的な範囲内)で接続が切断される頻度はもはや重要ではありません。
screen
リモートサーバーにログインしたときに起動することを覚えておく必要がある場合は、screen
対話型セッションが自動的に既存のセッションに参加するようにしたり、すでに実行中のセッションがない場合は新しいセッションを開始するのは難しくありません。
答え3
岩(信頼できるソケット)は、クライアントが別のネットワークに移動してもTCP接続が失敗したときを検出し、クライアントを自動的に再接続するクライアントTCP接続を確立するプログラムを囲むラッパーです。論文で説明されていました。安定したインターネット接続そしてダウンロード可能。メンテナンスはされていませんが、かなり信頼性の高いインターフェースを使用しているため、今日でもまだ機能します。標準ライブラリ機能を隠すためにライブラリプリロード()を使用するため、動的にリンクされた実行可能LD_PRELOAD
ファイルでのみ機能します。ただ次のように実行するだけです。
rocks ssh …
Rocksはサーバーモビリティではなくクライアントモビリティを扱います。サーバーが移動したら、以下を使用する必要があります。靴下代理人。
対話型セッションの場合、良いオプションは次のとおりです。モシュ。信頼できない接続用に設計され、クライアントのモビリティをサポートします。接続が不安定になると、Mosh のデータが失われるため、対話型セッションでのみ使用できます。
ほとんど安定していますが、モバイル接続が時々ある場合、Moshの代替案は次のとおりです。自動SSH自動再接続と画面またはマルチプレクササーバーで実行します。クライアントが切断されても、screen / tmuxセッションはサーバーに残り、接続が失われるとautosshは自動的に再接続します。