より多くのサービスを提供したいと思います。シリアルコンソール- 以下でログインできます。シリアルポート。基本的に、私は強力な暗号化/認証を備えた伝統的なネットワークリスニングサービスをマシンに提供したいと思います。ㅏシリアル経由で利用可能です。私が最初に行った場所はsslh
これは、1つのポートで複数のサービスを再利用するように設計されているためです。私の2番目のGoToは「nginx。
これは主にお客様が行った状況に適用されます。
- ハイパーバイザーまたは仮想マシンの基本ネットワーク接続のデバッグ/構成ㅏまた、マシンに独立して接続されています。第二、(実際または仮想)シリアル接続を介して[ラン渡すインテリジェント製造管理インターフェース]到着ㅏ。
- 信頼できないネットワーク/インフラストラクチャのコンソールサーバーを介してのみアクセスしながら、転送の快適さ/セキュリティを確保したいと思います。 (そして私は台無しになりたくないコミットそして
lrzsz
もっと。 )
私は次の回避策/半分の解決策を知っており、提案を先取りするためにこれをリストしました。
- 走るピアツーピア存在する両端:わかりました。ただし、追加のルーティング、命名、アドレスの割り当て/作成などを処理する必要があります。現在私が使用しているオプションです。しかし、これらの追加ネットワークをすべて設定することは避けたいと思います。
- 走る眠る ウィキペディア、良いここ:動作原理は次のようになります。ピアツーピア、しかし年をとった。
PPPd / slirpを実行するには、このリンクを介してVPN、SSH、および/またはHTTPSを実行する必要があります。 (わかりましたPPP暗号化の可能性しかし弱いEAP-TLSしかし、より多くのグループ資格情報を管理したくない)
この「シリアル接続」で使用したい主な「サービス」は、インタラクティブシェル、ファイル転送、仮想マシン/コンテナへのHTTPなどです。 「ホストの上または後ろから」ㅏ。
だから、取得しようとしました。SSLH「シリアルリスニング」には「フォアグラウンドモード」を使用してください-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'
しかし、このマントラではSSLHsslh
「--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タイトルにはすでに再利用されているnginxサービスがあります(SSL[-ALPN]/HTTPS/SSLH(SSH,OpenVPN,HTTP))に類似これ&これ働いて幸せリスニングunix:
ソケットただし、同じ構文を使用してシリアルポートを使用することはできません。また/dev/ttySX
。UNIX-CONNECT:/run/nginx-XYZ.sock
socat
私考える私の質問は、socat
最初にパケットが左側(= SSHクライアント)から到着するのを待ってから、2番目の側面(SSHサーバー)のオープンコマンドのみをトリガーするのではなく、最初に両方を直接開くことです。
簡単に言えば、どうやって入手できますか?SSH、SSLHまたはnginx次のヘルパープログラムの有無にかかわらず、シリアルポートを聞きます。ソカット?一般的な解決策はありますか?
代替案: 次の例を提供することを嬉しく思います。.
SSH/config
/システム- シリアル両側の統合ツールでpppd
自動生成(IPv6?)アドレスを透明かつ自動にします。
注:オンボードシリアルポートは通常1.5MBits / sを提供し、ほとんどのUSBシリアルポートアダプタは3MB / sをサポートします。これは、/etc
SSHと「rsync-over-sshバックアップ」には十分に高速です。圧縮もあります。
注2:シリアルを介して1つの同時接続しか取得できず、ポートを再利用する前にタイムアウトを待つ必要があるかもしれませんが、1つのSSH / TCP-OpenVPNはその接続で必要なすべてを再利用できます。