Windows 컴퓨터용 Putty 또는 plink를 사용하여 이러한 ssh 명령을 어떻게 복제합니까?

Windows 컴퓨터용 Putty 또는 plink를 사용하여 이러한 ssh 명령을 어떻게 복제합니까?

Windows Putty 또는 plink를 사용하여 원격 명령을 복제할 수 있도록 다음 설정의 연결 흐름을 이해하려고 합니다.

컴퓨터가 3대 있습니다: 로컬 - 중급 - 원격

로컬 컴퓨터에서 다음 명령을 실행하고 있습니다.

ssh -R 10022:localhost:22 -i /location/to/key i-user@intermediate-ip -p 22

제가 이해한 바로는 위 명령을 사용하면 포트 10022를 통해 연결하는 중간 서버의 모든 사용자가 포트 22를 통해 로컬 컴퓨터로 다시 터널링될 수 있습니다.

다음 명령은 원격 컴퓨터의 누군가에 의해 실행됩니다.

ssh -D 3456 -J i-user@intermediate-ip -i ~/.ssh/id_rsa local-user@localhost -p 10022 -i ~/.ssh/id_rsa

이 부분이 나를 혼란스럽게 한다. 기본적으로 우리는 중간 서버로 SSH를 연결한 다음 거기에서 포트 10022를 통해 로컬 컴퓨터로 SSH를 연결합니까? 하지만 동적 포트 포워딩은 어떻습니까? 어떻게 작동하나요? 로컬 컴퓨터에서 실행되나요? 터널을 통해 어떻게 흐르나요?

나는 그것을 믿는다3홉 SSH 터널 연결을 위해 퍼티를 구성하는 방법은 무엇입니까?plink를 사용하여 원격에서 중간으로 이동하는 방법에 대해 답변하지만나는 아직도 중간에서 로컬로 마지막 점프를 하고 동적 포트 전달을 구현하는 방법을 이해하지 못합니다.


충분히 설명하지 못한 경우를 대비해 원격 컴퓨터 명령에 대한 자세한 출력은 다음과 같습니다.

디버그 로그에 표시됩니다.

Setting implicit ProxyCommand from ProxyJump: ssh -l i-user -vvv -W '[%h]:%p' intermediate-ip
debug1: Executing proxy command: exec ssh -l username -vvv -W '[localhost]:10022' intermediate-ip
resolving "intermediate-ip" port 22
Connecting to intermediate-ip [intermediate-ip] port 22.
Connection established.
Authenticated to intermediate-ip ([intermediate-ip]:22).
ssh_init_stdio_forwarding: localhost:10022
Authenticating to localhost:10022 as 'd-user'
put_host_port: [localhost]:10022
Authenticated to localhost (via proxy).
Local connections to LOCALHOST:3456 forwarded to remote address socks:0
Local forwarding listening on ::1 port 3456
Local forwarding listening on 127.0.0.1 port 3456

관련 정보