Authorized_keys 파일이 ~/.ssh에 없으면 ssh-copy-id가 이를 인식할 수 있나요? 인증 키 파일을 다른 폴더에 저장하고 다음과 같이 구성했습니다.
AuthorizedKeys파일 /mnt/sd_ext/.ssh/authorized_keys
그러나 클라이언트 시스템에서 ssh-copy-id를 실행하면 여전히 ~/.ssh에 파일이 생성됩니다. 내가 뭔가를 놓치고 있는 걸까요, 아니면 예상되는 동작인가요?
답변1
ssh-copy-id
보시다시피 실제로는 쉘 스크립트입니다.
$ which ssh-copy-id
/usr/bin/ssh-copy-id
$ file /usr/bin/ssh-copy-id
/usr/bin/ssh-copy-id: POSIX shell script, ASCII text executable
이것은 매우 간단한 스크립트이며 .ssh/authorized_keys
경로는 하드코딩되어 있습니다. 스크립트는 파일의 비표준 위치를 처리하도록 작성되지 않았기 때문입니다 authorized_keys
. 즉, 항상 키를 authorized_keys
에 복사합니다 ~/.ssh
.
일반적으로 규칙을 준수하는 것이 가장 좋습니다. 그러나 비표준 경로를 사용해야 하는 타당한 이유가 있는 경우 스크립트를 편집하여 .ssh/authorized_keys
사용자 정의 위치로 바꿀 수 있습니다.