私の情報は次のとおりです。
SOCKS5プロキシとして使用されるSSH接続があります。コンピュータの電源を入れるたびに再初期化する必要があるのは面倒です。
ServerAliveInterval
に設定しました60
。~/.ssh/config
追加する権限がなく、ClientAliveInterval
追加しても同じ効果があります。私が受け取った特定のエラーメッセージは「壊れたパイプ」でした。
screen
それともtmux
ここでは役に立ちません。毎回追加する必要があるので、再度 numero uno に戻ります。autossh
うまくいかないようです。実行してautossh -M 0 -DPORT alias
タスクマネージャで見たところ、5分待ってもSSH接続が再開されないようでした。
上記の3つのオプションのうちの1つを使用するように多くの質問を読んでいますが、どちらも目覚めたり一時停止したりすることには関係ありません。私はこれを一度だけ(コンピュータにログインしたとき)発生させたいので、いくつかのbash initスクリプトに入れることはできません。ただし、コンピュータを同時に使用している間にSSH接続が失われても、SSH接続はアクティブなままにしたいと思います。目標を達成するためにどのような効果の組み合わせを使用しますか?
答え1
接続持続性
永続接続にはサーバー側サポートが必要です。これは現在opensshサーバーでは利用できません(そして今後はそうではありません)。
クライアント部分は数年前に実装されており、有名UseRoaming
この機能は数週間前にopensshから削除されました。この機能は機能しておらず、主なセキュリティ障害。 SSHサーバーでも機能する可能性がありますが、appgate.com
この脆弱性について初めて聞きました。
クライアント/サーバーのアクティビティ間隔は、一時停止とウェイクアップの間にIPアドレスを変更しない場合にTCP接続を維持している間のみ有効です。
ネットワーク起動後のスクリプト
ifup
あなたの場合は、スクリプト(ネットワークインターフェイスの起動後に実行されるスクリプト)を使用してソリューションを検討します。/sbin/ifup-local
SOCKS5を起動すると、次のようになります。
#!/bin/sh
if [[ "$1" == "eth0" ]]
then
ssh -DPORT alias
else
#DO_NOTHING
fi
スクリプトを実行可能にすることを忘れないでくださいsudo chmod +x /sbin/ifup-local
。ネットワークインターフェースやその他の項目を区別して、スクリプトにさらに検査や項目を追加することもできます。源泉
答え2
(少し話題から抜け出した答えですが、あなたの場合には役に立つかもしれません)
UDP経由のOpenVPNを介してsshを実行できます(ファイアウォールで許可されている場合)。このアプローチは効果的ですが、再接続にはかなりの遅延が発生します(1分ほど)。
しかし、使えるなら試してみてください。モシュ。最初から接続の持続性を念頭に置いて構築されました。