Estou tentando configurar uma porta reversa para frente em um canal mestre existente, mas não parece estar funcionando e não sei por quê. Eu configurei o canal mestre da seguinte forma:
ssh -MN -oControlPath=/tmp/mycontrolpath hostname
e eu tento abrir uma porta reversa para frente assim:
ssh -oControlPath=/tmp/mycontrolpath -NR 10017:127.0.0.1:10017 hostname
mas este segundo processo falha com a saída
stdin: is not a tty
e nenhum encaminhamento de porta é aberto no host remoto. Este parece ser um recurso suportado do protocolo (de acordo com os RFCs, de qualquer forma), mas eu não estou conseguindo nada rápido tentando usá-lo. Alguém tem isso para trabalhar?
A versão SSH do cliente é OpenSSH_5.3p1 Debian-3ubuntu6, OpenSSL 0.9.8k 25 de março de 2009, conectando-se ao OpenSSH_5.5p1 Debian-6, OpenSSL 0.9.8o 01 de junho de 2010 no servidor.
UPDATE
A execução do comando port-forward com -vvvv fornece esta saída:
OpenSSH_5.3p1 Debian-3ubuntu6, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /home/regularfry/.ssh/config
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug3: ssh_msg_send: type 2
debug3: ssh_msg_recv entering
debug3: ssh_msg_send: type 2
debug3: ssh_msg_recv entering
stdin: is not a tty
A seção relevante da saída correspondente do processo de soquete principal é assim:
debug3: fd 5 is not O_NONBLOCK
debug3: ssh_msg_recv entering
debug3: ssh_msg_send: type 2
debug3: ssh_msg_recv entering
debug3: muxserver_accept_control: receiving 2 env vars
debug2: muxserver_accept_control: accepted tty 0, subsys 0, cmd
debug2: muxserver_accept_control: got fds stdin 6, stdout 7, stderr 8
debug3: ssh_msg_send: type 2
debug2: fd 5 setting O_NONBLOCK
debug1: channel 0: new [client-session]
debug3: muxserver_accept_control: channel_new: 0
debug2: channel 0: send open
debug3: Wrote 64 bytes for a total of 2679
debug2: callback start
debug2: client_session2_setup: id 0
debug1: Sending environment.
debug1: Sending env LANG = en_GB.UTF-8
debug2: channel 0: request env confirm 0
debug1: Sending env LC_CTYPE = en_US.UTF-8
debug2: channel 0: request env confirm 0
debug2: channel 0: request shell confirm 1
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug3: Wrote 192 bytes for a total of 2871
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0
debug2: channel 0: rcvd ext data 20
debug2: channel 0: written 20 to efd 8