ssh-copy-id가 기본 위치가 아닌 위치에 복사되지 않습니다.

ssh-copy-id가 기본 위치가 아닌 위치에 복사되지 않습니다.

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사용자 정의 위치로 바꿀 수 있습니다.

관련 정보