SSH의 중첩된 ProxyCommands 작동 방식에 대한 내 정신적 모델은 실제로 깨졌습니다.
다음 ssh 명령이 있고 원하는 방식으로 작동합니다(ssh를 통해 jump.mydomain.com으로 이동한 다음 일단 jump.mydomain.com에 접속하면 ssh(ProxyCommand 사용)하여 server.remote.com으로 연결됩니다.
ssh -t [email protected] \
ssh -o "ProxyCommand='cloudflared access ssh --hostname %h'" \
[email protected]
로컬 ~/.ssh/config 파일에 몇 가지 규칙을 설정하여 입력할 수 있어야 한다고 생각합니다.
ssh [email protected]
이러한 여러 단계를 "제대로 작동"하도록 만들지만 그 규칙이 무엇인지는 모르겠습니다.
내 질문이 중복된 것 같아요멀티홉 및 프롬프트 인증을 위한 ProxyCommand 인증을 요청하는 메시지가 표시되지만 이 질문에서 프록시 명령은 모두 단순 홉을 위한 것이며 내 프록시 명령이 체인의 양쪽 끝에 맞지 않는 것 같습니다.
답변1
이것은 ProxyJumps 및 ProxyCommands가 작동하고 상호 작용하는 방식에 대한 정신적 모델이 부족한 데 실제로 도움이 되지 않지만 질문에 설명된 특정 작업을 수행하는 방법을 찾았습니다.
이 질문을 한 후에 다음과 같이 중첩된 SSH가 ProxyCommand의 일부인 대체 SSH 명령을 생각해낼 수 있다는 것을 깨달았습니다.
ssh -o "ProxyCommand=ssh [email protected] \
cloudflared access ssh --hostname %h" \
[email protected]
이제 ~/.ssh/config 파일에 넣을 수 있는 ProxyCommand가 있습니다.
Host server.remote.com
ProxyCommand ssh [email protected] cloudflared access ssh --hostname %h
구성 파일에 ProxyCommand를 넣으면 다음을 수행할 수 있습니다.
ssh [email protected]
현재 문제에 대한 해결책을 찾았다는 것은 기쁘지만, 다음 문제를 해결하는 데 어떤 식으로든 내 사고 패턴이 개선되었는지는 확신할 수 없습니다.