无法将 cat .pem 文件内联为 ssh 的 -i 选项

无法将 cat .pem 文件内联为 ssh 的 -i 选项

我收到此错误:

警告:身份文件 /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或其他选项。

相关内容