Bash
(root) 警告:身份文件 /dev/fd/62 不可訪問:沒有這樣的文件或目錄
非常類似於Failed to open config file ‘/dev/fd/63’, error: No such file or directory for 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
警告:無法訪問身份文件 /dev/fd/62:沒有這樣的文件或目錄。
OpenSSH_7.9p1,OpenSSL 1.1.1a 2018 年 11 月 20 日
無法打開使用者配置文件 /dev/fd/63:沒有這樣的文件或目錄
輸出在兩個地方失敗。如果我這樣做,
ssh-add <(echo "$VA_SOCKS_PROXY_PRIVATE_KEY")
它工作正常。似乎管道可能首先被 autossh 讀取,然後被 ssh 第二次讀取(反之亦然),因此它第二次消失了。UPDATE1:它似乎執行只是
ssh
重現了相同的錯誤,所以我上面的假設是無效的。UPDATE2:這條評論說:
它似乎
ssh
根本不支持這種操作模式,因為它很早就關閉了 FD 3 及更高版本main()
似乎
ssh
在 main() 早期關閉了所有文件描述符,因此不支持程序替換。/* * Discard other fds that are hanging around. These can cause problem * with backgrounded ssh processes started by ControlPersist. */ closefrom(STDERR_FILENO + 1);
來源