SSH의 -i 옵션으로 cat .pem 파일을 인라인할 수 없습니다.

SSH의 -i 옵션으로 cat .pem 파일을 인라인할 수 없습니다.

다음 오류가 발생합니다.

경고: ID 파일 /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/따라서 프로세스 대체(또는 해당 메커니즘을 사용하는 모든 셸 기능)를 사용하여 파일 인수 -i나 다른 옵션을 전달할 수 없습니다 .

관련 정보