Usando o código shell para LocalForward no arquivo de configuração ssh

1

Eu tenho essa configuração no meu arquivo de configuração ssh,

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

que me permite fazer alguns saltos básicos de host, como:

ssh host1+host2 # will ssh into host2 via host1

Existe um motivo para fazer o mesmo truque para o comando LocalForward ( -L )? Eu tentei algo assim, mas não funcionou,

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

Agradecemos antecipadamente

    
por Rabin 11.07.2016 / 11:27

1 resposta

0

O arquivo de configuração do SSH não aceita nem avalia o código do shell.

A razão pela qual sua primeira coisa funciona é que ela é executada pelo shell como parte da chamada do comando proxy.

Mas suponho que LocalCommand possa ser usado de maneira semelhante ao comando proxy para invocar ssh -f -L... . Eu nunca fiz isso ou vi isso feito embora. Veja também PermitLocalCommand .

    
por 11.07.2016 / 11:35