![ssh-copy-id가 기존 인증 키를 무시하도록 강제하는 방법은 무엇입니까?](https://linux55.com/image/61073/ssh-copy-id%EA%B0%80%20%EA%B8%B0%EC%A1%B4%20%EC%9D%B8%EC%A6%9D%20%ED%82%A4%EB%A5%BC%20%EB%AC%B4%EC%8B%9C%ED%95%98%EB%8F%84%EB%A1%9D%20%EA%B0%95%EC%A0%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
편집 : 있습니다이에 대한 버그 보고서, 동등이 답변.
공개 키를 여러 컴퓨터에 복사하는 스크립트를 작성하려고 합니다. ssh-copy-id
복사하기 전에 현재 구성으로 로그인할 수 있는지 확인하지만 안타깝게도 여기 IdentityFile
에는 ~/.ssh/config
.완전히 무시하다~/.ssh/config
;이것을 할 수 있는 방법이 있나요? 아니면ssh-copy-id
키를 항상 추가하도록 하시겠습니까 ?이것은 실제로아니요일하다:
ssh-add "$old_key"
ssh-copy-id -i "$new_key" -o "IdentityFile $new_key" "$login"
이건 비슷하면서도 다른데SSH가 .ssh/config를 무시하도록 만드는 방법은 무엇입니까?.
답변1
코드를 확인한 후 ssh-copy-id
이 해킹이 작동하는 것을 확인했습니다.
SSH_OPTS='-F /dev/null' ssh-copy-id [...]
그러나 문서화된 기능에만 의존하는 솔루션에는 여전히 관심이 있습니다.
답변2
의 사용은 SSH_OPTS
미래에도 보장되지 않을 수 있습니다(보안상의 이유로 스크립트는 처음에 이를 재설정해야 한다고 생각합니다. 동작은 지정되지 않은 환경 변수에 의존해서는 안 되며 어떤 경우에는 정리되지 않았을 수 있습니다). 수행할 수 있는 작업(아마도 쉘 기능을 통해):
env PATH="/path/to/special_dir:$PATH" ssh-copy-id [...]
여기에는 실제 작업을 수행하는 스크립트 /path/to/special_dir
만 포함되어 있습니다 . 약간 보기 흉하지만 현재 스크립트로는 이를 수행할 수 있는 깔끔한 방법이 없다고 생각합니다 .ssh
ssh
-F /dev/null
ssh-copy-id