
Ubuntu 18.04.4 LTS で不可解な動作がいくつか見つかりました。
1 つの端末で、秘密鍵を FIFO に書き込みたいと思います。
$ mkfifo /tmp/fifo
$ chmod o-rwx /tmp/fifo
$ chmod g-rwx /tmp/fifo
$ cat id_rsa > /tmp/fifo
別の端末で、キーの内容を取得するためにその FIFO を読み取りたいと思います。
$ ssh -i /tmp/fifo -o StrictHostKeyChecking=no <<user@address>>
最初の端末での書き込みは、2 番目の端末で読み取りが行われるまでブロックされ、その時点で両方とも解放されるものと予想されます。そして、これはほとんどの場合に発生します。
残念ながら、読み取りを成功させるには 2 回の書き込み (cat 操作) が必要になる場合があります。読み取りによって最初の書き込みは解放されますが、読み取り自体は別の書き込みが発生するまで解放されません。
この現象を以前に観察した人はいますか? どのような情報でもいただければ幸いです。