我收到此错误:
警告:身份文件 /dev/fd/63 无法访问:文件描述符错误。
运行此命令时:
ssh -Y '[email protected]' -i <(cat << EOF
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAgbUQXIfIWtMJpYcTn5C+LStaL8NICo/0l1V33IQ8pQADUk+Tq+cfotyiHrRl
JXRyn8KJe8zmAQs7uSR3drVdj2KNFhXnFsEbXYxjAS93ZutO1Z2eBvvKcp/W8AoOr7r2JtTXaGml
W18/0Fot83UcVRdqYI4CCv5hhYN7oGDYT94d8d0yFtuIhXf8IlkCgYEAkugROAktxuG1AgQ9KGP5
.........
a3ZAHHf5F2rn0oW0X5YNtEWqhGknYQkkiztqaWAPM4bAP7gpDIqYyqh81soqYHxxP9q2Ch634NPb
BMmdZb9hMb/PY9bJNKwZt/yO7W0yq1zzjXFIqhymGDqkc/E4/K+V+svsDIV8VtainrY=
-----END RSA PRIVATE KEY-----
EOF
)
nix-collect-garbage
我只是想在远程计算机上运行“nix-collect-garbage”命令。
也许临时文件/fd 的权限错误?有没有办法给我正确的权限?
我认为这是进程替换的权限问题,但不确定如何解决它。
答案1
ssh
将要关闭在做任何有趣的事情之前,甚至在解析它的命令行开关之前,先检查它的所有文件描述符,除了标准的 in、out 和 err。
因此,您不能使用进程替换(或任何使用该/dev/fd/
机制的 shell 功能)将文件参数传递给-i
或其他选项。