SSH 구성 파일에서 LocalForward를 사용하는 쉘 코드

SSH 구성 파일에서 LocalForward를 사용하는 쉘 코드

SSH 구성 파일에 이 구성이 있습니다.

Host *+*
ProxyCommand ssh $(echo %h | sed -e 's/+[^+]*$//;s/\([^+=]*\)=\([^+]*\)$/\2 -l \1/; s/^\([^+:]*\):\([0-9]*\)+/-p \2 \1+/') -W $(echo %h | sed -e 's/^.*+//; s/:.*$//;'):$(echo %h | sed -e 's/^.*+//; /:/!s/^.*/22/; s/^.*://' ;)

이를 통해 다음과 같은 몇 가지 기본적인 호스트 호핑을 수행할 수 있습니다.

ssh host1+host2 # will ssh into host2 via host1

LocalForward왜 command( ) 로 -L같은 일을 하려고 합니까? 나는 성공하지 못한 채 이와 같은 것을 시도했습니다.

Host host1+*
    user root
    Hostname %h
    ProxyCommand ssh host1 -W %h:%p
    LocalForward 0.0.0.0:8080 $(echo %h | awk -F'+' '{print $2}'):80

미리 감사드립니다.

답변1

이것SSH 구성 파일쉘 코드는 획득되거나 평가되지 않습니다.

첫 번째 작업이 작동하는 이유는 에이전트 명령 호출의 일부로 셸에서 실행되기 때문입니다.

LocalCommand하지만 프록시 명령을 호출하는 것과 비슷한 방식으로 사용될 수도 있다고 생각했습니다 ssh -f -L.... 나는 이것을 해 본 적도 없고 본 적도 없습니다. 당신은 또한 볼 수 있습니다 PermitLocalCommand.

관련 정보