원격 호스트의 자격 증명을 모르더라도 프록시를 통해 SSH 요청을 프록시할 수 있는 사용 사례가 있습니다.
client -> proxy -> remote
클라이언트가 원격에 매핑된 특정 포트의 프록시에 연결할 수 있는 SSH 터널을 설정하려고 합니다. 리모컨으로 인증을 하고 싶지 않고, 리모컨으로 인증을 처리하길 원합니다.
작업 과정
- 에이전트는 SSH 터널을 생성합니다.
proxy:9000 -> remote:22
- 클라이언트 연결:
curl proxy_user@proxy -p 9000
- 프록시 계정 자격 증명을 사용하여 인증을 완료하지만 원격에 연결
어떤 배경 지식을 바탕으로 클라이언트가 원격 자격 증명 정보를 모르고 비밀 키를 사용하지 않고 클라이언트에서 원격으로 액세스하고 싶습니다.
아이디어? 어쩌면 이 문제를 해결하는 다른 방법이 있을까요?
혼란이 있었다면 죄송합니다. 명확히 하기 위해 다음과 같이 하고 싶었습니다.
[에이전트] ssh -L 에이전트:9000:localhost:22 원격 user@remote
[클라이언트] ssh -p 9000 Proxy_user@proxy
클라이언트가 원격 자격 증명을 알지 못하길 원합니다.
답변1
설명하려는 내용은 매우 혼란스럽습니다. 그러나 일반적으로 다음과 같이 작동합니다.
프록시는 SSH 터널인 프록시:9000 -> 원격:22를 생성합니다.
[proxy]$ ssh -g -L proxy:9000:localhost:22 remote
클라이언트 연결: 컬 Proxy_user@proxy -p 9000
클라이언트는 연결에 사용해야 합니다
ssh
. 그렇지 않습니까?[client] ssh -p 9000 proxy
그러나 첫 번째 단계는 간단한 포트 전달을 사용하여 설정할 수 있습니다 iptables
. 처음 연결할 때 통신은 암호화됩니다 ssh
.