이전에는 SSH 프록시 전달을 통해 내 서버에 연결할 수 있었습니다.
ssh -A my.server
그런 다음 파일에 내 공개 키가 있는 서버 네트워크의 다른 호스트에 연결합니다 authorized_keys
.
server:~# ssh another.host
서버에서 공개/개인 키 쌍을 생성하기 전까지는 잘 작동했습니다 ~/.ssh/id_rsa
.~/.ssh/id_rsa.pub
이제 연결을 시도하면 다음과 같은 결과가 나타납니다.Permission denied (publickey).
~/.ssh/id_rsa
나는 에이전트의 키를 전달하려고 시도하고 실패하기 전에 서버의 키를 시도하고 있다고 생각합니다.
허용되는 시도 횟수를 늘릴 수 있는 방법이 있을 수 있지만 my.server
프록시에서 전달된 키에 대한 시도의 우선 순위를 지정하는 다른 구성 옵션을 갖고 싶습니다. IdentitiesOnly
IdentityFile
특정 키 서버에 대해 시도되는 키 서버를 제어하는 데 사용할 수 있는 방법과 비슷합니다. 시도 - 또는 ~/.ssh/id_rsa
특정 호스트에 대한 시도를 비활성화합니다. 기본 키에 대한 옵션 - 다른 모든 호스트에 대해 이름을 바꾸거나 지정할 필요가 없습니다(진정한 기본값을 유지하도록 허용).
또한 공개 키를 추가하고 싶지 않습니다 . 프록시 전달을 사용하여 로그인할 때만 연결이 발생하기를 my.server
원합니다 .another.host
my.server
답변1
실제 상황은 이보다 약간 더 복잡합니다. 클라이언트는 사용 가능한 모든 키를 제공하며 그 중 몇 개가 실패하면 완전히 실패합니다.
-vvv
명령줄에 추가하면 자세한 로그에서 이를 확인할 수 있습니다. 사용하면 -o IdentitiesOnly=yes
도움이 될 수 있습니다.
또한 온프레미스에 보유하고 있는 키 수를 줄이는 데도 도움이 될 수 있습니다 ssh-agent
.
마지막으로 생각할 수 있는 것은 id_rsa
기본 위치에서 파일을 이동하고(클라이언트는 항상 기본 위치에서 파일을 읽고 닫을 수 없음) ~/.ssh/config
필요한 호스트에서만 사용하도록 구성하는 것입니다.