Bash

(root) 警告:身份文件 /dev/fd/62 不可訪問:沒有這樣的文件或目錄

  • January 14, 2022

非常類似於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);

來源

引用自:https://unix.stackexchange.com/questions/500044