SSH経由でアクセスできるリモートLinuxシステムにシリアルポートがあります。
書くときはsshを介してリモートシリアルポートに書き、読んでいるときはその逆に書き込むファイル(実際のファイルではなくデバイスファイルやUnixドメインソケット?)を作成したいと思います。
ファイルを生成するコマンドを持ち、ファイルから読み込んでコマンドのSTDINにアクセスできるようにし、ファイルに書き込むとデータがコマンドのSTDOUTストリームに出力されるだけで十分だろうと思います。これにより、次のように使用できます。
ssh user@host "cat /dev/ttyREAL" | <some_command> /dev/ttyFAKE | ssh user@host "tee /dev/ttyREAL"
そのようなコマンドはありますか?それとも間違った方法で実行していますか?
ベストアンサー1
たぶんこの例のようなことを行い、socat
それを使って疑似ttyとそれへのシンボリックリンクを作成することができます~/myserialline
。これを開くと、socatはstdin / stdoutを物理シリアルデバイスに接続するためにsocatを実行するssh(この場合はlocalhost)を実行します。
socat PTY,link=$HOME/myserialline,raw,echo=0 EXEC:'ssh localhost socat - /dev/ttyS0'
このようなシリアルデバイスがあると仮定すると、(bash)シェルでそれをテストできます。たとえば、次のようになります。
exec 3<>~/myserialline # open pty for read and write
cat -u <&3 & # read from pty
echo hello >&3 # write to pty