web-dev-qa-db-ja.com

(ルート)警告:IDファイル/ dev / fd / 62にアクセスできません:そのようなファイルまたはディレクトリはありません

構成ファイル '/ dev/fd/63'を開くことができませんでした、エラー:wpa_supplicantのそのようなファイルまたはディレクトリはありません と非常によく似ていますが、rootとして実行しているという事実があります。

_bash-4.4# autossh -v -M 0 -4 -o StrictHostKeyChecking=no -F <(echo "$VA_SOCKS_PROXY_SSH_CONFIG") -i <(echo "$VA_SOCKS_PROXY_PRIVATE_KEY") socks -D "0.0.0.0:2001" -N 
_

警告:IDファイル/ dev/fd/62にアクセスできません:そのようなファイルまたはディレクトリはありません。
OpenSSH_7.9p1、OpenSSL 1.1.1a 2018年11月20日
ユーザー設定ファイルを開くことができません/ dev/fd/63:そのようなファイルまたはディレクトリはありません

出力は2か所で失敗しています。 ssh-add <(echo "$VA_SOCKS_PROXY_PRIVATE_KEY")を実行すると、正常に機能します。パイプが最初にautosshによって読み取られ、次にsshによって2回目に読み取られている(またはその逆)ため、2回目にパイプが失われているようです。

UPDATE1:sshだけで実行されているように見えるため、同じエラーが再現されるため、上記の仮説は無効になります。

UPDATE2:これ コメント は言う:

sshは、main()の非常に早い段階でFD3以降を閉じるため、単にその操作モードをサポートしていないようです。

1
Elijah Lynn

sshはmain()の早い段階ですべてのファイル記述子を閉じるため、プロセス置換をサポートしていないようです。

/*
 * Discard other fds that are hanging around. These can cause problem
 * with backgrounded ssh processes started by ControlPersist.
 */
closefrom(STDERR_FILENO + 1);

ソース:
https://github.com/openssh/openssh-portable/blob/master/ssh.c#L621https://github.com/openssh/openssh -portable/blob/c327813ea1d740e3e367109c17873815aba1328e/ssh.c#L621 (アーカイブリンク)

1
Elijah Lynn