SSLHまたはnginxがシリアルポートでリッスンし、シリアルポートを介してVPN、HTTP(S)、ま​​たはSSH(実際、シミュレーション、および/または仮想)を取得します。

SSLHまたはnginxがシリアルポートでリッスンし、シリアルポートを介してVPN、HTTP(S)、ま​​たはSSH(実際、シミュレーション、および/または仮想)を取得します。

より多くのサービスを提供したいと思います。- 以下でログインできます。。基本的に、私は強力な暗号化/認証を備えた伝統的なネットワークリスニングサービスをマシンに提供したいと思います。シリアル経由で利用可能です。私が最初に行った場所はsslhこれは、1つのポートで複数のサービスを再利用するように設計されているためです。私の2番目のGoToは「

これは主にお客様が行った状況に適用されます。

  • ハイパーバイザーまたは仮想マシンの基本ネットワーク接続のデバッグ/構成また、マシンに独立して接続されています。第二、(実際または仮想)シリアル接続を介して[ラン渡すインテリジェント製造管理インターフェース]到着
  • 信頼できないネットワーク/インフラストラクチャのコンソールサーバーを介してのみアクセスしながら、転送の快適さ/セキュリティを確保したいと思います。 (そして私は台無しになりたくないそしてlrzszもっと。 )

私は次の回避策/半分の解決策を知っており、提案を先取りするためにこれをリストしました。

  • 走る存在する両端:わかりました。ただし、追加のルーティング、命名、アドレスの割り当て/作成などを処理する必要があります。現在私が使用しているオプションです。しかし、これらの追加ネットワークをすべて設定することは避けたいと思います。
  • 走る ウィキペディア、良いここ:動作原理は次のようになります。、しかし年をとった。

PPPd / slirpを実行するには、このリンクを介してVPN、SSH、および/またはHTTPSを実行する必要があります。 (わかりましたPPP暗号化の可能性しかし弱いEAP-TLSしかし、より多くのグループ資格情報を管理したくない)

この「シリアル接続」で使用したい主な「サービス」は、インタラクティブシェル、ファイル転送、仮想マシン/コンテナへのHTTPなどです。 「ホストの上または後ろから」

だから、取得しようとしました。「シリアルリスニング」には「フォアグラウンドモード」を使用してください-f。つまり、-iまた、次のようなさまざまなバージョンの「inetd」オプションを使用します。

socat -d -d file:/dev/ttyS0,b115200,raw,ignoreeof,echo=0 SYSTEM:'sslh -i --ssh 127.0.0.1:22 --http 127.0.0.1:80'

しかし、このマントラではsslh「--listen」で幸せに実行したにもかかわらず、オプション形式について文句を言った127.0.0.1:2222ので、次のようなさまざまなバージョンを試しました。

socat -d -d file:/dev/ttyS0,b115200,raw,ignoreeof,echo=0 tcp:127.0.0.1:2222

これでsocatうまくいったので、次のバリエーションを使用してもう一方の端で接続しようとしましたが、成功しませんでした。

ssh foo -o "Proxycommand=socat -d -d -d - /dev/ttyUSB0,b115200,ignoreeof,raw,echo=0"

提案に従ってくださいこれはあまり効果的な試みではありません。または好きこれ:

ssh -v foo -o "ProxyCommand bash -c 'exec 3<>/dev/ttyUSB0; cat <&3 & cat >&3'"

頑張ったこの未確認の回答「Serial to SSH」で提案したとおりServerFaultの同様の非アクティブな問題。正解は」しなければならない職業」ですが、私にとってはそうではありません。

私は言及しましたタイトルにはすでに再利用されているnginxサービスがあります(SSL[-ALPN]/HTTPS/SSLH(SSH,OpenVPN,HTTP))に類似これ&これ働いて幸せリスニングunix:ソケットただし、同じ構文を使用してシリアルポートを使用することはできません。また/dev/ttySXUNIX-CONNECT:/run/nginx-XYZ.socksocat

考える私の質問は、socat最初にパケットが左側(= SSHクライアント)から到着するのを待ってから、2番目の側面(SSHサーバー)のオープンコマンドのみをトリガーするのではなく、最初に両方を直接開くことです。

簡単に言えば、どうやって入手できますか?または次のヘルパープログラムの有無にかかわらず、シリアルポートを聞きます。一般的な解決策はありますか?

代替案: 次の例を提供することを嬉しく思います。./config/- シリアル両側の統合ツールでpppd自動生成(IPv6?)アドレスを透明かつ自動にします。

注:オンボードシリアルポートは通常1.5MBits / sを提供し、ほとんどのUSBシリアルポートアダプタは3MB / sをサポートします。これは、/etcSSHと「rsync-over-sshバックアップ」には十分に高速です。圧縮もあります。

注2:シリアルを介して1つの同時接続しか取得できず、ポートを再利用する前にタイムアウトを待つ必要があるかもしれませんが、1つのSSH / TCP-OpenVPNはその接続で必要なすべてを再利用できます。

関連情報